I like the local state idea. Then one can export/import them like other 
configurations.

- Altu

-----Original Message-----
From: [email protected]
To: [email protected]
Sent: __aolWsbDateToL10n__Thu, 22 Oct 2009 14:53:55 
+0200__aolWsbDateToL10n__
Subject: [fossil-users] Fossil customisation [was: Developing on Unix 
and Windows]

It seems to me that there are areas where it is impossible to please 
everybody with a single solution. This thread is an example, the 
wiki-language is another, and probably there will be more. If Fossil 
develops a lot of private branches (like creole wiki) it will end up 
'unix balkanised'. If everything becomes configurable options, it will 
end up a very complex tool with a bloated binary. There has to be a 
better way.
 
Of the various "sub-systems" of Fossil, the ticket system is the most 
configurable. It uses a fexible schema, uses TH1 code to give users 
access to internals, and stores html/css for the UI. Perhaps this 
approach can be generalised for other components and uses.
 
In order to make this work I'm thinking of the following:
- a table to hold files related to customisation (css files, js files, 
TH1 script files, graphics files, etc.
- hooks to call TH1 scripts
- UI and command line access to the customisation files
 
Example: unix/windows line endings
- the default behaviour of Fossil would be as-is.
- there would be a "pre-commit" and "post-checkout" hook
- the pre-commit hook would be for instance a TH1 script to convert 
cr/lf to lf for certain files
- the post-checkout hook would be for instance a TH1 script to do the 
reverse conversion
 
Example: e-mail update notification

- the default behaviour of Fossil would be as-is.
- there would be a "mailto" primitive in TH1
- a pre-commit script could then send notification of new commits to 
selected users
 
Example: other wiki-languages

- the default behaviour of Fossil would be as-is.
- there would be a wiki-view hook
- a TH1 script would handle whatever wiki language to generate the 
equivalent HTML
or:
- the files for a wysiwyg wiki editor (eg. TinyMCE) could be stored in 
the custom files table
 
Now where should the customisation table be? A first option could be as 
repository shared state. This is much the same as embedded 
documentation. However, this forces everybody to use the same 
customisation. The second could be as repository local state. Now 
everybody can have their own view of data. Problem here is that if you 
have many customisation files, you would have to manually enter all 
that configuration to each and every project you are working on. A 
third place could be the per user fossil file (.fossil / _FOSSIL), 
perhaps searched as a fallback location. Also, in the wiki-language 
example, the script must be part of the project itself, otherwise its 
wiki-pages would become unusable on other configurations.
 
Does anybody have ideas on how to handle these storage/replication 
issues?
 
Paul


From: [email protected] on behalf of Ramon Ribó
Sent: Wed 10/21/2009 6:47 PM
To: [email protected]
Subject: Re: [fossil-users] Developing on Unix and Windows




> Frankly, though, probably not enough that I
> would want to see such an ugly feature built into fossil.

I also like beautiful things and hate ugly things. But life is
sometimes difficult and it is better to fix problems instead
of workaround them._______________________________________________
fossil-users mailing list
[email protected]
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


=
_______________________________________________
fossil-users mailing list
[email protected]
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to