On 09/21/2010 02:07 PM, Jacques Le Roux wrote:
From: "Adam Heath" <doo...@brainfood.com>
On 09/21/2010 11:53 AM, Jacques Le Roux wrote:
From: "Adam Heath" <doo...@brainfood.com>
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: infrastruct...@apache.org

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?

Reply via email to