On 19/09/2008, at 21:24:11, Ross Gardler wrote:

Pablo Barrera wrote:
Hello
I have modified a plugin and I want to install it in my site project.

Do you really want to fork this code? That gives you the maintenance headache of managing it in the future. Much better would be to propose your modification as a contribution to the Forrest project where any future changes to the plugin will be done in a way that will not break your own modifications.


I am totally agree. But right now the plugin is not finished and in it's current state breaks the tei plugin for everybody else. When it is ready I will be glad to send it to the list but right now I need to have it working with a dirty hack (for example, no configuration options).

Of course, if these changes are highly local to your site and not of interest to the wider community then you may need to maintain your own version.

Right now, they are. But my plan is to work a little bit more on then to make it more general.

If I have understand it correctly, according to this [1] I should copy the whole directory to MYSITE/plugins and modify my forrest.properties file as project.required.plugins.src=${forrest.home}/plugins,$ {forrest.home}/whiteboard/plugins,/export/forrest_plugins

That is just an example, the full text of the paragraph says:

"If you have a collection of local plugins you would like Forrest to use then you need to add the directory to this property. For example: project.required.plugins.src=${forrest.home}/plugins,$ {forrest.home}/whiteboard/plugins,/export/forrest_plugins"

The important part being. This is not as clear as it could be, a better phrasing is:

"If you have a collection of plugins in a local directory, such as 'export/forrest_plugins' then you need to add that directory to this property. For example: project.required.plugins.src=${forrest.home}/ plugins,${forrest.home}/whiteboard/plugins,/export/forrest_plugins"

Forrest uses the old version of the plugin instead of the new one, located on MYSITE/plugins. I know this plugin should work, because when I move the folder into the forrest code (the default location for the plugins) I obtain the desired output. Am I missing something here?

Are your plugins in /export/forrest_plugins, that is where you have told Forrest to look for them.


Is /export/ a global path or a relative path? I guess it's global.

The line I was using was:
project.required.plugins.src=${project.home}/plugins,${forrest.home}/ plugins,${forrest.home}/whiteboard/plugins

If I have understand it correctly, I should change it to:
project.required.plugins.src=/home/pablo/MYSITE/plugins,$ {forrest.home}/plugins,${forrest.home}/whiteboard/plugins

and forrest will look first to my directory, so I don't need to change the name to the plugin.

If yes...

This is now a different plugin, have you changed the name of the plugin? If not then Forrest will stop looking for it once it finds a copy, with the property setting you have aboe this means it will find the one in Forrest first.

I ask again though, are you sure you want to fork this plugin?

Right now, I am pretty sure. Next week will be a different thing.


--
Pablo Barrera
http://gsyc.es/~barrera/