On Tuesday 07 March 2006 18:10, Denis Jedig wrote:
> Greetings list,
>
> I wonder where I can find a comprehensive documentation on how to
> write and install modules in OTRS2.

yeah, that would be so nice :)

>
> I made some efforts mimicing some of the simpler internal modules but
> already ran into trouble by just renaming an existent module (namely
> AgentTicketCustomer) and trying to incorporate it into the MenuModule
> - it shows up in the ticket menu but calling the appropriate URL[1]
> throws me a "Can't locate Kernel/Modules/myModule.pm in @INC (@INC
> contains: ../../[..]"

I solved this by registering myModule in  Kernel/Config/Files/
I did not perfectly understand where/how to register a module, but using 
the existing registered modules I managed  to do it.

For example, I have a module that displays/modify(+other sstuff) some 
info on a customer, in Ticket.xml I copied the section for 
AgentCustomerInfo, and modified it to fit myModule (mostly renaming 
some xml keys/data). Here's an example, my module is named 
AgentLiveCustomer :
$ grep -C 15 Live  Ticket.xml
        </Setting>
    </ConfigItem>
    <ConfigItem Name="Frontend::Module###AgentTicketZoom" Required="0" 
Valid="1">
        <Description Lang="en">Frontend module registration for the 
AgentTicketZoom object in the agent interface.</Description>
        <Description Lang="de">Frontendmodul-Registration des 
AgentTicketZoom-Objekts im Agent-Interface.</Description>
        <Group>Ticket</Group>
        <SubGroup>Frontend::Agent::ModuleRegistration</SubGroup>
        <Setting>
            <FrontendModuleReg>
                <Description>Ticket Zoom</Description>
                <Title>Zoom</Title>
                <NavBarName>Ticket</NavBarName>
            </FrontendModuleReg>
        </Setting>
    </ConfigItem>
    <ConfigItem Name="Frontend::Module###AgentLiveCustomer" Required="0" 
Valid="1">
        <Group>Ticket</Group>
        <SubGroup>Frontend::Agent::ModuleRegistration</SubGroup>
        <Setting>
            <FrontendModuleReg>
                <Description>AgentLiveCustomer</Description>
                <Title>AgentLiveCustomer</Title>
                <NavBarName>AgentLiveCustomer</NavBarName>
            </FrontendModuleReg>
        </Setting>
    </ConfigItem>
    <ConfigItem Name="Frontend::Module###AgentCustomerInfo" Required="0" 
Valid="1">
        <Group>Ticket</Group>
        <SubGroup>Frontend::Agent::ModuleRegistration</SubGroup>
        <Setting>
            <FrontendModuleReg>
                <Description>AgentCustomerInfo</Description>
                <Title>AgentCustomerInfo</Title>
                <NavBarName>AgentCustomerInfo</NavBarName>
            </FrontendModuleReg>
        </Setting>
    </ConfigItem>
    <ConfigItem Name="Frontend::Module###AgentTicketChat" Required="0" 
Valid="1">

and I've done the same thing for some other modules in Ticket.xml and 
Framework.xml, had no problems with it, it works

sometimes, after I  manually edit one of the .xml files I must also 
enable the new module from:
Admin->SysConfig->Ticket/Framework->Frontend::Admin/Agent::ModuleRegistration

I do not understand why this interface does not offer the possibility to 
register new modules, only to edit already existing ones. It took me 
some time until I figured out how to add new ones by editing the xml.

the modules you will want to add, most probably will be somehow similar 
to existing ones (more or less), you should just grep  
Kernel/Config/Files/ for the existing module, and register the new one 
the same way the existing one is registered. this has always worked for 
me :)

>
> So I wondered about a bunch of questions:
>
> - if INC contains relative paths, which directory are they relative
> to? The one containing index.pl?
>
> - where/how is INC assembled?
>
> - why does it work for all kind of in-the-box modules but does not
> work for "mine"?
>
> - why can't I find any documentation on how to write new modules for
> OTRS2?
>
> Thanks for helping out.
>
> [1] http://otrs/index.pl?Action=myModule&TicketID=10
> --
> Denis Jedig
> syneticon networks GbR             http://syneticon.net/service/
>
> _______________________________________________
> OTRS mailing list: dev - Webpage: http://otrs.org/
> Archive: http://lists.otrs.org/pipermail/dev
> To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/dev

-- 
Daniel Dumitrache


-- 
This message was scanned for spam and viruses by BitDefender.
For more information please visit http://www.bitdefender.com/

_______________________________________________
OTRS mailing list: dev - Webpage: http://otrs.org/
Archive: http://lists.otrs.org/pipermail/dev
To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/dev

Reply via email to