SnipSnap Developing: Planning a fork 
Like the title is saying I'm planning to go for a fork.
There are various reasons for doing such move, but here are a
few (and probably also the strongest ones):
- The development is stopped;
- The SVN is dead;
- Stephan as
announced is retirement from snipsnap;
- SnipSnap as been my pet-project for more than a year;
- I think I can do a good job.
Currently I have no name for the fork, snipsnapNG - where NG stands for Next Generation - just sounds too lame… Any suggestions for the name?
I've already started a
SVN repository, the code is being released under GPL. Since it supports anonymous read access, anyone interested can download my snipsnap version from there. Besides all the modifications I've been mentioning in my posts, I felt like giving some goodies for this first SVN release, so the additional features are:
- Security Fix against XSS on the Search Macro
- Security Fix regarding config snip (which can be accessed via diff or version servlets by anyone)
- Integration of Digg It feature
- Integration of Del.icio.us feature
- Integration of RSS comments for each snip features
- Configurability of the last three points, the user can select if it's interested or not to have each feature.
The digg it, delicious and rss comment features can be now seen in my blog, at the upper right corner of each snip, or posts in case of displaying a weblog snip. To add or remove each one of them is so simple has toggle a feature on config snip to true or false.
I'm planning not only in deliver more features but also refactor some code that I've already seen. Not that I think Stephan and Leo didn't do things good, but mostly because I want things on my way.
Features to be implemented include:
- Configurable snapPreview integration
- Configurable meta-information
- Configurable Access Control for each snip
- Configurable secure login and register
- Better CATPCHA Support (that includes sound support)
- Many other, keep tuned to know about them.
If anyone has any suggestions to improve this version of snipsnap, please comment!
- Access Control for each snip: Yes, some logs just a private log, not public.
- CATPCHA support
- Integration of Digg It / Del.icio.us feature: but also Yahoo/Google bookmarks or others.
- A completely emoticon / smileys system: add a new smiley/emoticon is not easy ( write the new code, compile , copy jar file, restart jsp container ). Some of blog site use javascript to implement this feature, it seems a easy way but I am tring to understand how it does.
Some thing about the forked version:- maybe use maven 2 to manage the project status, ThoMo had a
Radeox maven2 project.
- I suggest to use a newest version of lucene library because v1.2 can not fully support CJK. Currently I used 1.9.1 for it.
- hmm… the name of the fork version is really a question...
Just fixed some words.... :pBLANK_LINE
REGEX2=imageName2.png
imageName.png will be attached to smileyRepository snip. Also remember the 1st field is a regex, so for example to match
Then the user object would have hasAvatar() which would return true on and on the JSP we would do if snip.owner.avatar is true then show the image.Don't worry I didn't (nor will) sacrifice my rest time.
- Let user writes some configurations at his owned snip. User can upload his avatar there too.
- configurations maybe like macro format:
- {useSnipSnapAvatar:myavatar.gif} means show the image "myavatar.gif" for his avatar.
- {useGravatar:somebody@somewhere} means show the avatar from gravatar account.
- {useMyBlogLog:url} means show the avatar from mybloglog account.
- and then, When show some snips, check this snip's owner's config of avatar, and show it or not.
Wow, It sounds a intelligent design.... :pAnd in my opinion, making a user create a configuration snip is overkill configuration, the user should not need to do it. Although I'm not currently seeing a good solution, I have to think more about the subject. But probably the solution will be somehow based on conventions.
- snipsnap-macros
- snipsnap-filters
- snipsnap-formatters
But now, I have a trouble to find out how can maven2 get the java file list and write to META-INF/services/org.radeox.filter.Filter or some much. Because I do like the user put their plugins into path, then maven2 generate the services files just like xdoclets. After success, it may the time to replace my snipsnap to forked version.Since everything is a snip, if you want to write content you have to create a snip… "So Snip everything, just Snip it" laugh
- Maven2 one build file can only generate one jar/war file, even it's multi-projects still create several projects and then a main project build file to collect them.
- I try to find some tips to make maven2 create services files automatically. If no way to do that ( use ant expression at maven2 seems something wrong… :( ), I will combine it to one.
That sounds good ! so package name ( name space ) should changed to what ? snipit.org/snipit.net had been registered. so call it like org.snipsnap.snipit.filter.SmileFilter ?It's weekend, take a rest.I'm gonna add snipscale to my_snipsnap_fork_feature_list.I'm sorry but I didn't quite understand you there… Could you please explain better? Since it's GPL (I've just checked the license) maybe I can do something about it..No you don't replace only the snipsnap.jar, you compile the version you've checkout and then execute the run command that is in the base directory. There are no changes on the structure so it should run without any problems.I myself am running with a file system storage and the switch was done with no problem, AdaHsu, if I'm not wrong, is using a database and also managed to switch with no problem. But even if we had no problems at all I advice you to first backup everything! If you need any more help regarding the installation please post or send me an email, I'll gladly help you out!Regards,Paulo
I'm asking because on java 6 sun changed the packages or their classes so you'll have a class not found error in certain cases regarding sun classes.
Something maybe wrong...If somebody want to make a registration on my blog, Tomcat will crashed and left a file on the root path. It caused by JCaptcha ( org.snipsnap.jcaptcha.JCaptchaServlet.doGet(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletRe sponse;)V+35 ).My system is amd64, should JCaptcha only runs on x86 platform ?Sorry, this case is JDK1.5's bug, I will try to fix it !