I figured out answer to question 1-4. I also create tutorial of Plugin development for Trac 0.11. http://trac-hacks.org/wiki/EggCookingTutorialTrac0.11
Question 5-7 still need some insight tho. -- Deen On 6/2/07, Deen Sethanandha <[EMAIL PROTECTED]> wrote: > > Hi All, > > I finally get to work on this. I spent a few hour trying to get the > Helloworld plugin to work. I know I am a newbie (both Python and Trac) but > I think it is very important to have good document for newbie to be able to > create a helloworld plugin in short time. I have a few questions regarding > this. > > 1) Naming in setup.py. I am trying to understand how the name works. > Let's use example from the link. > > from setuptools import find_packages, > setup > setup( > name='TracHelloWorld', version > ='1.0', > packages=find_packages(exclude > =['*.tests*']), > entry_points = """ > [trac.plugins] > helloworld = myplugs.helloworld > """,) > > I notice that the name TracHelloworld will be the name of the > egg. I don't understand how the naming for [trac.plugins] works. The > problem is, I can't get the helloworld plugin to work using this setup.py. > I have to use this one. I change the name of the folder to helloworld and > have helloword.py in it. > > from setuptools import find_packages , setup > > setup( > name= 'helloworld', version='1.0', > packages=find_packages(exclude =['*.tests*']), > entry_points = """ > [trac.plugins] > helloworld = helloworld.helloworld > """, > ) > > My question would be, why the first setup.py doesn't work? > > 2) Do I need to add the plugin into the trac.ini to work? If so what > name should I use? > > Do I use the name of package or the name of the egg? I tried using > TracHelloWorld.* = enabeled but that didn't work. After I changed the > setup.py to the second one, and use helloworld.* = enabled, it worked. > > 3) What are considered packages when using find_packages? Are they the > folders that is in the same level as the setup.py? > > 4) How plugins are structured? I start to get confused when I tried to > create plugin. Does each module considered a plugin or the package is > considered a plugin? When I look at the trac code, I see that many .py > files under the same folder (package) such as ticket are included under [ > trac.plugins] > > 5) If there are many plugin under same package, how can I distinguish > between a plugin and normal .py file. I think anything that is considered a > plugin should be in the setup file. What about the api.py , model.py, and > notification? > > 6) What would be your advice on how to design plugin? There are many > feature that I would like to create as plugin. I am not sure if I should do > it as one plugin or more. Currently, my rule of thumb is to let a plugin > have only one new menu. > > 5) Is it possible to modify the content of Trac's core using plugin? I > would like to enhance the results in milestone page for example. I would > like to add the capability to view progress by action. I think it is useful > to know how many ticket are new, assigned, fixed. > > > Thanks a lot in advance. I will try to incoperate my new knowlege into > the wiki so that it is easier to follow. > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Trac Development" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/trac-dev?hl=en -~----------~----~----~----~------~----~------~--~---
