 views api views allows modules to describe their tables relationships to each other as well as fields filters sort criteria and arguments via hookviewsdata   whenever views deems it necessary this hook is called the data aggregated together and cached hookviewsdataalter  may also be used to modify existing data changing other module s handlers or adding handlers to other module s tables views also allows modules to create new display types style types row styles argument default handlers and argument validators via hookviewshandlers  and hookviewsplugins   these hooks are kept in a file named modulenameviewsinc this file is automatically included upon need so there is no need to try and include this in hookinit or any other method of including inc files this file should store hookviewsdata hookviewsdataalter hookviewsplugins hookviewshandlers as well as any other hooks and subsidiary data that will only be used by your module when views is active all handlers and plugins provided by your module should be in separate inc files there are two similar files modulenameviewsdefaultinc and modulenameviewsconvertinc which contain default views and views 1 to views 2 convert helpers respectively hookviewsapi  in order for your files to be included your module must first implement hookviewsapi  in the main module file this module should return array of information the following items may be returned  api this must appear it should be the oldest api version that your module can work with if views is currently running an older version of the api it will ignore your module s views integration this is a good thing as it will prevent code crashes at the expense of your module s functionality disappearing you may find the current views api version by calling viewsapiversion  which is implemented at the top of viewsmodule this version numbering starts at 20 every time changes are made to the views handlers and plugins or other aspects of the views api the number will tick up by either 001 01 1 or 1 depending upon how major the changes are note that viewsapiversion  was introduced in views 20rc2 and may not exist prior to that version you may use functionexists to test to see if this function is there often these versions are basically compatible with each other and views won t care if your module implements 2000 2001 2002 etc your module can request that it won t work with any version older than a given version however views will determine itself if a newer version will work path if your views inc files are not in the same directory as the module file then return the full path here you should probably use something like drupalgetpath module yourmodulename includepath  