<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Thank you Matus,<br>
      <br>
      My interesting was to the direction of how to extend an existing
      entity module with extension modules.<br>
      <br>
      Regards:<br>
      Istvan<br>
      <div class="moz-signature"><br>
        <br>
      </div>
      2014.08.15. 15:00 keltezéssel, IT-Solutions4You írta:<br>
    </div>
    <blockquote cite="mid:lsl08o$u3h$1@ger.gmane.org" type="cite">Extension
      is for non entity modules, like PDF Maker, ListView Colors, ....
      You can ugdrade exiting Extension/Module using Upgrade
      functionality of vtiger.
      <br>
      <br>
      Matus
      <br>
      <br>
      Dňa 15. 8. 2014 11:18 Holbok István  wrote / napísal(a):
      <br>
      <blockquote type="cite">Dear vtiger Team,
        <br>
        <br>
        If I understand well the entity modules of vtiger system (in
        6.1) create
        <br>
        & modify a new vtiger entity (for example: Contacts, Leads,
        or
        <br>
        CustomEntity in a Custom entity module) during run.
        <br>
        The extension modules do not create new crm entities, but extend
        the
        <br>
        functionality of existing entity modules.
        <br>
        <br>
        In my case I would like to extend the functionality of my
        *CustomModule*.
        <br>
        <br>
        If I will create a new extension module for this purpose, then
        this
        <br>
        (extension) module will create a new directory to place its
        files.
        <br>
        ref.:
        <br>
<a class="moz-txt-link-freetext" href="http://community.vtiger.com/help/vtigercrm/developers/extensions/examples/extension-module.html">http://community.vtiger.com/help/vtigercrm/developers/extensions/examples/extension-module.html</a>
        <br>
        For example the extension module files will be placed in the
        <br>
        <vtiger_crm>/
        <br>
                         modules/
        <br>
                                     my_extension_module/
        <br>
        directory and the all objects of the extension module (classes,
        methods
        <br>
        and properties) will be named by that name
        *<my_extension_module**>*.
        <br>
        <br>
        *How and when will be triggered these extension methods to
        extend
        <br>
        functionality of the existing CustomModule?*
        <br>
        <br>
        I have found that the only way to trigger the
        <br>
        *my_extension_module->methods* is to place some code - like
        this below -
        <br>
        to the CustomModule files in the proper places:
        <br>
        <br>
            $adb = PearDatabase::getInstance();
        <br>
            $em = new VTEventsManager($adb);
        <br>
            $data = array();
        <br>
            //init data for the Custom Events
        <br>
            $data = ..... ;
        <br>
           
        $em->triggerEvent('vtiger.customextensionmodules.customevent',
        $data);
        <br>
        <br>
        In this case the event is always triggered during the executing
        of the
        <br>
        CustomModule function, but the extending function will be
        executed only
        <br>
        that case if the
        <br>
        (1) my_extension_module is installed;
        <br>
        (2) the eventhadler is registered for the event:
        <br>
        vtiger.customextensionmodules.customevent
        <br>
        (3) the handler file, handler class is provided in the file
        <br>
        MyExtensionModuleHandler.php
        <br>
        <br>
        *Do I understand well the original intent of the vtiger
        structure?*
        <br>
        <br>
        In some case would be better if the extension (add-on function)
        is in
        <br>
        the directory structure of the CustomModule.
        <br>
        It is easy to provide with FTP upload to the
        <br>
             <vtiger_crm>/modules/CustomModule/   or
        <br>
             <vtiger_crm>/modules/CustomModule/models or
        <br>
             <vtiger_crm>/modules/CustomModule/helpers  directory
        and the class
        <br>
        autoloader will do its job, the methods, properties will be
        available
        <br>
        for the CustomModule to extend it.
        <br>
        <br>
        *But how to use this simple extending method in vtiger store? *
        <br>
        <br>
        *Is there any method to install **add-on files via zip packages
        to the
        <br>
        defined place to extend an existing entity module?*
        <br>
        <br>
        Kindest regards:
        <br>
        István
        <br>
        <br>
        --
        <br>
        üdvözlettel:
        <br>
        <br>
        *Holbok István*
        <br>
        <br>
        +3670-342-0900
        <br>
        *e-mail:* <a class="moz-txt-link-abbreviated" href="mailto:holbok@gmail.com">holbok@gmail.com</a>
        <br>
        *<a class="moz-txt-link-freetext" href="SkyPe:*">SkyPe:*</a> holboki
        <br>
        <br>
        <br>
        <br>
        _______________________________________________
        <br>
        <a class="moz-txt-link-freetext" href="http://www.vtiger.com/">http://www.vtiger.com/</a>
        <br>
        <br>
      </blockquote>
      <br>
      <br>
      _______________________________________________
      <br>
      <a class="moz-txt-link-freetext" href="http://www.vtiger.com/">http://www.vtiger.com/</a><br>
    </blockquote>
    <br>
  </body>
</html>