(This page is the original notes for what turned eventually into the current main website. It is now of historic interested only. I will note that a COTS membership system turned out to be rather more of a challenge than anticipated, and at the time of writing - March 2023 - an unsolved problem.)
First, let's quickly summarise some problems with the current website.
None of the above should be interpreted as a criticism of the original decisions. It's more how things have panned out over time. And the current system does have some important features.
The above problems has been clear for some time, but it has proved difficult to move forward. The problem, it seems to me, is that the problem has been considered in terms of a replacement of the current site, and a replacement is a non-trivial job. It's difficult to see how it can be approached incrementally.
This is amplified by the all-volunteer nature of ACCU. Without engaging in a serious procurement exercise, we need to be able to utilise members' skills, and these do not, typically, include website design and a thirst for working on old PHP systems.
It seems to me that the way to make progress on this is to outline a process that allows incremental progress. What I have in mind is as follows:
members.accu.org
and oldsite.accu.org
as well as accu.org
.newsite.accu.org
. This can have links to the existing site by linking to locations under oldsite.accu.org
for website items and members.accu.org
for ACCU membership management. In the first instance this new site can just be a new front page.accu.org
.oldsite.accu.org
to the new site.The next question is what sort of underlying technology to use to implement the new website. I think it should be static, as far as possible, to keep hosting as efficient and simple as possible.
For entirely static content, the ACCU Conference website uses a static website generator and source files in AsciiDoc, maintained in a Github repository. This model seems eminently sensible to me for the following reasons:
It's not the system currently used for the conference website, but there is some agreement that Hugo would be a good choice.
I do not at the moment have a clear vision of how to handle website sections that require some sort of authentication.
I intend to implement a proof of concept site using the scheme described in the first two steps above.
I've implemented a proof of concept site at https://newsite.accu.org. It's built using Hugo. Click on Local Groups/ACCU London to see a link to the existing site in action.
For the moment the source code in at https://git.accu.org/jim/Hugo-site. You'll probably need a login for this; ask me (Jim). I will move it to the ACCU GitHub account soon.
I've used the Hugo theme 'Universal' and not changed any of the graphics, apart from adding some existing ACCU graphics where appropriate.
I've also distinguished further (mostly in my head at the moment) the different ways of linking to the old site.
* members.accu.org
- a transition location for site members-only content.
* membership.accu.org
- membership maintenance and signup.
* oldsite.accu.org
- a transition location for site general content.
What's there has taken me about a day. I'm finding AsciiDoc a very convenient and quick way to add content.
I said above I've not been sure how to handle members-only content.
As far as I'm aware, with the exception of site editor and special users like membership secretary and book review manager, the site manages access distinguishing between everybody and ACCU members only.
For members-only content, there has to be some sort of dynamic session management and access control. My current bright idea (ha!) is as follows:
/members
.git
subrepo, hosted on git.accu.org
. We obviously can't put it on GitHub or it would immediately become public./members
to the dynamic engine.
URLs on the existing site are generally of the form /index.php/area/page
. Obviously it would be desirable in the main to preserve URLs for those who have stored them. Hugo generates URLs following
the file structure under its source content
directory, so a structure with /area/page
would be logical and possible. An Apache rewrite rule to redirect URLs starting /index.php
to the plain page URL would be fairly straightforward.
Since writing the above, I have looked closer at some of the URL structures. There's a lot - all journal articles, for example - which are of the form /index.php/journal/12345
. The latter number is simply the number of the article in the Xaraya database table. A similar form applies to book reviews.
I don't think these are sustainable. I propose instead to move to a more rational arrangement, /journals/CVu/<issue number>/<authorname>
. Existing content will be extracted from the database by a small bit of Python, which will also generate a journals/12345
stub containing an HTML redirection to the new path. Going forward, manual addition of new articles is obvious.
For journals this will require modifications to the index generation process. But since the index is generated by a program at the moment, I think this is doable.
There's a related concern with book reviews. A bit more thought is required on the URL form, but again the idea of generating a redirection file for existing reviews should work.