Sounds interesting, but for us we require static exports. Since you're using flat files that might not be all that hard for you to implement.
Confluence as a CMS has an interesting future ahead of it at the ASF. Right now we have a hard dependency on the auto-export plugin, whose support characteristics prevent us from running the latest versions of confluence. If the situation doesn't change over the next few months, we'll likely just phase out the CMS aspects of confluence and replace it with something that natively supports static exports. ----- Original Message ---- > From: Adam Heath <[email protected]> > To: Jacques Le Roux <[email protected]> > Cc: Joe Schaefer <[email protected]>; [email protected]; >[email protected] > Sent: Tue, September 21, 2010 5:34:10 PM > Subject: Re: ofbiz wiki(confluence) > > On 09/21/2010 03:53 PM, Jacques Le Roux wrote: > > Thanks Joe, > > > > I quickly tried through Subclipse and got an error. > > I guess now Adam has a better idea of what I was talking about. > > I mean maybe Webslinger could be used, just my 2 cts... > > I will attempt to describe webslinger for those who haven't ever heard of it >before. > > The major features(bullet points) of webslinger-core are: > > * Content data stored as raw files. This is to allow normal programs, like >grep, find, vim, dreamweaver, photoshop, git, svn work without modifications. > > * Makes use of commons-vfs, and a custom set of layered filesystems. > > * One layered filesystem is called 'flat'. Arbitrary attributes >(FileObject.getContent().getAttribute(name)) are stored as path/to/file@, into > >separate files. Again, this allows for easy integration with other systems. > > * Another layered filesystem is called 'wsvfs'. This is an overlay/cow type >filesystem, where multiple real filesystems are combined on the fly, giving >merged directory listings, with support for up-copy and whiteout. Any point >of >the tree can 'overlay' any other part of the tree, altho this feature isn't >normally nescessary. > > * Automatic extension resolution. This allows for pretty urls that don't > have >extensions, and allow the implementation on the server to be changed as >nescessary. End-users have problems with extensions, so that is hidden. > > * Any 'path' can be configured to do it's own sub-path management. This > allows >for nice urls like /shop/product/$productId/detail and >/shop/cart/add/$productId and /Login/Path/To/Protected/Page. These urls then >show up nicely in hit reports. They are also easier for end-users to >remember. > > * Automatic attribute inheritance. Extensions are used to find the > mime-type >of a file. Or the mime-type can be set directly on the file. Then, any >attribute files set in /WEB-INF/DefaultMimeAttributes/$mime/$type are >inherited >for the resource in question. This allows mapping all ${page}.cf to >application/x-server-side-confluence, creating an attribute called 'type' >with >a value of 'confluence-page'. More on the types in a bit. > > * Every resource has a type, and a handler. Standard types are jsp, cgi, >binary. Base types are event(bsf-based), code, template. Type can also be >servlet, or, even more advanced(but not ready to be released) is 'vaadin' as >a >type. > > * Several languages are integrated: template: freemarker/velocity/text, >bsf+code: groovy/janino(java)/jython/rhino/bsh/quercus(php). > > * Macros called by a template language can be implemented in *any* > webslinger >resource(any type, any language). Each integrated template type has proxies >implemented that allow it to call back into webslinger macros. velocity-> >#Merge("/path/to/file", "/template/to/wrap/it/with"), freemarker-> <@Merge >path="/path/to-file" template0="/template/to/wrap/it/with"/>. Support for >macros with content bodies is fully supported as well. > > * Support for one-type 'wrapper' of a text output, and then different page >styles. Partial-ajax page updates can then skip this, and do smart updates >of >regions of the browser. > > The above list is an non-inclusive list of features in webslinger-core. > It's >really generic, and not tied to any particular implementation. > > The other major thing different about it, is that webslinger is *itself* a >servlet container, just like catalina or glashfish. However, what sets it >apart >from all others, is that it doesn't run standalone; instead, it is installed >into a parent container. It then fakes/wraps everything, to support it's >fancy >stuff. It supports running standard servlets, but then get backed by >commons-vfs, with overlay support, etc. This implementation isn't perfect, >and >really needs to be improved upon. > > I've been working on a demo for the ofbiz community to play with. However, > the >existing embedded site in the repository was rather small, so I wrote an >importer to pull stuff from cwiki, which is what then started this thread. > > ps: the license on all our code is asl 2.0 > > > > > Jacques > > > > From: "Joe Schaefer" <[email protected]> > >> The url is here > >> https://svn.apache.org/repos/infra/infrastructure/trunk/projects/cms > >> and is publicly readable. > >> > >> > >> > >> ----- Original Message ---- > >>> From: Adam Heath <[email protected]> > >>> To: Jacques Le Roux <[email protected]> > >>> Cc: [email protected]; [email protected] > >>> Sent: Tue, September 21, 2010 3:42:35 PM > >>> Subject: Re: ofbiz wiki(confluence) > >>> > >>> On 09/21/2010 02:07 PM, Jacques Le Roux wrote: > >>> > From: "Adam Heath" <[email protected]> > >>> >> On 09/21/2010 11:53 AM, Jacques Le Roux wrote: > >>> >>> From: "Adam Heath" <[email protected]> > >>> >>>> So, I need some admin help with cwiki.apache.org, or at least > >>> advice. > >>> >>>> I've got a script that uses xmlrpc to confluence, and fetches all > >>> >>>> previous page(+versions), comments, attachments(+versions), tracks > >>> >>>> renames, usernames, and commit messages. I then take all this > >>> data and > >>> >>>> convert it into a long series of git commits, with the files > >>> layed out > >>> >>>> in a proper webslinger design. The author of each git commit is the > >>> >>>> person who changed the page, added a comment, or uploaded a new > >>> >>>> attachment. > >>> >> > >>> >> This webslinger layout is still in flux, as is my script. The basic > >>> >> logic works, however, by fetching all meta data, storing most of the > >>> >> bulk of that in a temporary cache folder(only for the duration of the > >>> >> script), then sorting each item by date, and replaying the set of > >>> >> changes one by one. > >>> >> > >>> >> It's optimized by storing the 'lastFoo' stuff for each > >>> >> page/comment/attachment/(title->pageId mapping) as needed, so that it > >>> >> can detect newer versions, etc, and not have to do anything. A > >>> refresh > >>> >> after a full download against the OFBIZ space takes 2 minutes, with > >>> >> nothing new to fetch. > >>> >> > >>> >>>> The issue I am having is the confluence installed on cwiki is old. > >>> >>>> Newer versions support returning the > >>> PageHistorySummary.versionComment > >>> >>>> thru the rpc; currently, I have to fall back and do a screen > >>> scrape of > >>> >>>> the viewpreviousversions.action page. > >>> >> > >>> >> CONFDEV docs definately list a versionComment field on > >>> >> PageHistorySummary, that is not exposed in 3.2.0 installed on cwiki. > >>> >> > >>> >>>> Where should I ask for help on this, getting this new api > >>> implemented? > >>> >>> > >>> >>> infra team: [email protected] > >>> >>> > >>> >>> I put them in copy > >>> >> > >>> >> Thanks. I'm putting more information in this email; I've left > >>> >> d...@ofbiz on the cc for this email, as others might be interested in > >>> >> what I have discovered. > >>> >> > >>> >>>> I also have suggestions to make the api more lightweight, when > >>> doing > >>> >>>> incremental updates(which my system supports). > >>> >> > >>> >> Here are the suggestions: > >>> >> > >>> >> I can fetch all attachments for a page. But the attachment data > >>> >> returned doesn't include the current version as a field. I have to > >>> >> split the download url(which is sub-optimal; it includes the current > >>> >> version as a parameter). It might be nice to have an > >>> AttachmentSummary > >>> >> type record. > >>> >> > >>> >> What if uploads an attachment, then a new version of the attachment, > >>> >> then changes the page, then deletes the attachment? How could I fetch > >>> >> that information? I don't see a way to fetch all attachments for all > >>> >> time against a particular history. This is also a problem for deleted > >>> >> pages, comments, and labels(probably others). > >>> >> > >>> >> Comments in confluence support editting. Is this history stored, and > >>> >> if so, can I get access to it? > >>> >> > >>> >> Are labels versioned? > >>> >> > >>> >> Children of pages are versioned, only because pages themselves are > >>> >> versioned, which includes the value of the parentId at the time the > >>> >> page was changed. However, the frontend doesn't let you see older > >>> >> children, when looking at previous versions. > >>> >> > >>> >> It'd be nice if when calling getPageHistory, I could request a subset > >>> >> of the list, instead of *all* page versions. If a page has 271 > >>> >> versions, and I have already fetched them, and the current page has a > >>> >> version of 274, then I only really need to fetch 3 PageHistorySummary > >>> >> records(to get the versionComment from newer versions of confluence). > >>> >> > >>> >> BlogEntrySummary doesn't include version, but BlogEntry does. And I > >>> >> can't fetch old versions of blogs. > >>> >> > >>> >> > >>> >>>> > >>> >>>> As a side note, there is a severe lack of version comments. This > >>> >>>> script ends up producing 3117 commits. Some of those are page > >>> >>>> renames/comments/attachments, which don't have a commit message. > >>> Most > >>> >>>> are page commits. There are only 70 change messages. It'd be > >>> nice if > >>> >>>> people would comment when they change a page, but I don't see a > >>> way to > >>> >>>> enforce that. > >>> >>>> > >>> >>> > >>> > > >>> > Adam, > >>> > > >>> > There is currently a beginning effort to create a CMS for apache.org > >>> > (infrastructure/trunk/projects/cms) is yours related to this effort? > >>> > >>> No, it's not. Based on how much time I've spent already(started my > >>> imoprter last friday), and how familiar I am with ofbiz, it'd > >>> probably take me a 2 months to get mostly feature compatible with > >>> confluence(that's for a single person working in his spare time). > >>> > >>> > Jacques > >>> > PS: Not sure how to access to infrastructure/trunk/projects/cms/README > >>> > with the rights I have > >>> > >>> You mean it's not public? > >>> > >> > >> > >> > > > >
