I've added a new "project-data-plugin.rb" to "pre-process" the project data
- it creates a new list of hashes (easier to process) and adds the
"project_id" as an attribute and sets values if they are not specifically
set (name, fullname, domain etc):

https://github.com/niallkp/attic-jekyll-site/blob/main/_plugins/project-data-plugin.rb

For example, the nasty hack to sort the project list is gone and now using
the standard liquid "natural sort" on project names (rather than
project_id):

https://github.com/niallkp/attic-jekyll-site/blob/main/_includes/project-list.html

Also, duplicated logic for things like project_name and sorting is gone
from the tracking page, making it simpler:

https://github.com/niallkp/attic-jekyll-site/blob/main/tracking.md?plain=1

Niall

On Mon, 21 Apr 2025 at 12:45, Niall Pemberton <niall.pember...@gmail.com>
wrote:

> On Mon, 21 Apr 2025 at 09:24, sebb <seb...@gmail.com> wrote:
>
>> On Sun, 20 Apr 2025 at 18:36, Niall Pemberton <niall.pember...@gmail.com>
>> wrote:
>> >
>> > On Sun, 20 Apr 2025 at 17:51, Niall Pemberton <
>> niall.pember...@gmail.com>
>> > wrote:
>> >
>> > >
>> > >
>> > > On Sun, 20 Apr 2025 at 09:44, sebb <seb...@gmail.com> wrote:
>> > >
>> > >> On Sun, 20 Apr 2025 at 01:10, Niall Pemberton <
>> niall.pember...@gmail.com>
>> > >> wrote:
>> > >> >
>> > >> > Hi,
>> > >> >
>> > >> > I have created a PoC to move the current Attic site generation from
>> > >> XDOC &
>> > >> > Forrest to Markdown & Jekyll:
>> > >> >   https://github.com/niallkp/attic-jekyll-site
>> > >> >
>> > >> > Each project has a YAML file with details about it and its
>> retirement
>> > >> and
>> > >> > that drives everything:
>> > >> >   - generates a project page
>> > >> >   - updates the Process Tracking Page
>> > >> >   - updates the menu/list of projects in the Attic
>> > >> >   - Generates the "flag" files for the Attic Banner on the site &
>> Wiki
>> > >> >
>> > >> > At the moment it is pretty much functionally complete, but I've
>> put a
>> > >> TODO
>> > >> > list in the README.md or the project:
>> > >> >
>> https://github.com/niallkp/attic-jekyll-site/blob/main/README.md
>> > >> >
>> > >> > Thoughts/feedback welcome
>> > >>
>> > >> Looks good, and could be worth pursuing, but there are some missing
>> > >> features that are essential for a full evaluation.
>> > >>
>> > >> There needs to be an action to generate the output so it can be
>> checked.
>> > >> Ideally so the site can be viewed directly.
>> > >>
>> > >
>> > > I have manually published the generated site here for now, so you can
>> have
>> > > a look:
>> > >     https://niallkp.github.io/
>> > >
>>
>> Thanks, very useful.
>>
>> > There were no "In Progress" projects (i.e. project's whose move to
>> Attic is
>> > not complete), so I've just added the data files for Gora & Mnemonic.
>>
>> I see you have also added ODE, which has non-standard CWiki names; useful.
>>
>
> I need to double check, but I think I've added all the project data files
> except the two "revived" projects (Ambari & XMLBeans?).
>
>
>> > The main bits of the site are generated from the project data files.
>> Just
>> > to highlight a few of the generated pages:
>> >   - The Tracking page: https://niallkp.github.io/tracking.html
>> >   - Project Pages e.g. Gora
>> https://niallkp.github.io/projects/gora.html
>> >   - The list of projects on each page
>> >   - The site flag files are generated in "/flagged/site": e.g.
>> > https://niallkp.github.io/flagged/site/any23.txt
>>
>> These don't need any content; also at present Puppet expects directories.
>>
>> >   - The cwiki flag files are generated in "/flagged/site": e.g.
>> > https://niallkp.github.io/flagged/cwiki/mnemonic.txt
>>
>> The contents are fine, but they cannot be accessed from there by Puppet.
>>
>
> OK, I just threw something in as a PoC, but happy to polish the fine
> detail. I'll take a look at getting it to replicate whats currently done -
> but it might not be for a few days.
>
>
>
>> > Projects that are "in progress" also have a link to a "templates" page,
>> so
>> > for example, here is Gora's Template page:
>> >    - https://niallkp.github.io/templates/gora.html
>> > The "template" page has text for creating the JIRA and sending out the
>> user
>> > & announcement emails.
>>
>> That's very useful.
>> If possible, add buttons to copy the content to the clipboard?
>> i.e. as per process.md
>>
>
> Good idea, I'll add this to the todo list
>
>
>> > Obviously the "Look & Feel" is crap. Its using the default "Minima"
>> theme
>> > from Jekyll. We can chose a different theme or try to re-create the L&F
>> of
>> > the existing site
>>
>> `The tracking.md page seems a bit out of place: it looks more like a
>> template.
>>
>
> We could move the table generation part into an html include (don't think
> markdown files can be includes or templates, but maybe I'm wrong) - but
> there wouldn't be much else in tracking.md then, just the page elements you
> mention below.
>
>
>> Also missing are the required page elements (under 'Related Apache
>> links' on the current site) and some Attic links (see 'The Apache
>> Attic')
>>
>
> +1, todo
>
>
>> And there needs to be a way to create the initial project.yaml files.
>> The current site has a Python script to do this; it just requires the
>> project name.
>>
>
> Good idea, I'll add this to the todo list
>
>
>> > Niall
>> >
>> >
>> >
>> > >
>> > > Niall
>> > >
>> > >
>> > >
>> > >>
>> > >> It looks like the CWKI flags are generated as part of the website.
>> > >> However, the Confluence webserver host does not have access to the
>> > >> Attic website (unlike the TLP server, which hosts Attic as well as
>> the
>> > >> retired sites).
>> > >>
>> > >> I don't think it makes sense to checkout the entire Attic website on
>> > >> the Confluence server merely to get access to the flag files.
>> > >> Probably need to use a separate GHA to generate the required files in
>> > >> a separate branch.
>> > >> (AFAICT,  Git does not support checkout of a sub-directory, at least
>> > >> not in a way that can be used by Puppet config)
>> > >>
>> > >> There are some Python scripts in the existing codebase that need to
>> be
>> > >> converted to use the new format.
>> > >> Probably only retire.py needs significant work.
>> > >>
>> > >> Minor nit: the plugin files say that the flagged files are used by a
>> > >> Lua filter to decide whether to add the banner.
>> > >> That is not the case; the httpd config extracts the project name from
>> > >> the request, and checks to see if there is a flag file with that
>> name.
>> > >> If so, the Lua filter is applied to the output.
>>
>
> need to remember to update this as well
>
> Niall
>
>
>> > >>
>> > >> > Thanks
>> > >> >
>> > >> > Niall
>> > >>
>> > >
>>
>

Reply via email to