Showing posts with label pilot. Show all posts
Showing posts with label pilot. Show all posts

Enterprise plan directory structure

Mike's Notes

Pipi 9 is still highly experimental. I have been very busy over the last month working on the second deployment of Pipi 9 to production.

  • The first (dogfooding) is Ajabbi.com.
  • The second (pilot) is for a national disability rights organisation in NZ.

The second has been very slow, mainly because it involved the migration of an existing website to a new one, which required careful consideration of the organisation's needs, including using 4 languages (English, Maori, NZ Sign Language, AAC), catering for screens-formats (mobile, desktop, braille, screenreaders, kiosk, TV), and personalised profiles to meet accessibility needs. There have been six months of extensive experimentation and user testing using a manually created 1,100-page static website prototype. Last week, the successful import of existing content into a CMS database was completed. The job now is to connect Pipi 9 to this database to automate future production of all website content.

These notes are about the draft default directory structure for that website. All other 26 existing websites have now been migrated to use the same default structure.

Update 30/03/2026

Putting the data centre into production has resulted in some changes.

Data directory for databases external to Pipi
  1. data/
  2. <Database Type>/ eg "pg"
  3. <Database Version No>/ eg "18"

Pipi directory

  1. pipi/
  2. <Account type>/ eg "e"
  3. <Account Name>/ eg "ajabbi"
Work directory for backups, etc
  1. work/

Update 04/04/2026

Pipi Robot added to description.

Update 06/04/2026

<major version><edition><account type>/ added to all configurations to standardise and simplify setups.

Update 11/04/2026

Pipi Nest is used as the name for the root config.

Update 15/04/2026

<account name(s)> AND <instance name(s)> both present.

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library >
  • Home > Handbook > 

Last Updated

23/04/2026

Enterprise plan directory structure

By: Mike Peters
On a Sandy Beach: 18/08/2025

Mike is the inventor and architect of Pipi and the founder of Ajabbi.

This is the current default directory configuration for enterprise plan customer accounts. It should also work for the digital twins in the Pipi 9 data centre.

The account administrator can edit the configuration file to easily change the location of these key directories for a particular cloud host.

  • AWS
  • Azure
  • GCP
  • IBM
  • Oracle
  • etc. 

On a public-facing website, all of this would be obfuscated using UUIDs, hidden keys, etc.

Pipi Robot

The hidden robot contains most of the complex systems and functions and acts as the super-administrator, thereby simplifying enterprise applications.

Configuration File

/9ae/ (Pipi Nest)

  • pipi_nest_probe.cfm
  • data/
    • couchbase/
    • db2/
    • derby/
    • h2/
    • hsqldb/
    • informix/
    • mariadb/
    • msaccess/
      • 32/
      • 64/
    • mssql/
    • mysql/
    • oracle/
    • pg/
      • 18/
    • sqllite/
    • sybase/
    • virtuoso/
  • pipi/
    • Application.cfc (1) - Nest settings
    • pipi_nest.cfm
    • ajabbi/ (Account Name)
      • Application.cfc (2) - Account settings
      • pipi_account.cfm
      • com/
      • dat/
      • lib/
      • log/
      • plu/
      • tmp/
      • www/
        • learn.ajabbi.com/
          • Application.cfc (4) - Website settings
        • wiki.ajabbi.com/
          • Application.cfc (4) - Website settings
    • dis-01/ (Instance)
    • ...
    • dis-04/ (Instance)
      • Application.cfc (2) - Account settings
      • pipi_account.cfm
      • pip/
        • Application.cfc (3) - Version settings
        • pipi_version.,cfm
        • i18n/
        • log/
        • pipi_<pipi version>.txt
        • sys/
        • temp/
        • template/
          • _include/
          • _layout/
            • _log/
      • www/
        • mission-control/
          • Application.cfc (4) - Website settings
  • work/
    • backup/
    • install/
    • project/

    Descriptions


    Directory Example Description
    <major version><edition><account type> 9ae/ Pipi Nest:
    Major version = 9
    Edition = a (Pipi Application)
    Account type = e (Enterprise).
    <account name> ajabbi/ User account codename (lowercase, unique ASCII).
    com com/ Open-source code packages from GitHub.
    dat dat/ Customer data.
    lib lib/ Code libraries.
    log log/ Logs.
    plu plu/ Open-source plugins.
    tmp tmp/ Temporary files.
    www www/ All websites.
    <website> wiki.ajabbi.com/ A website (domain name).
    <instance name> dis-01/ Pipi instance name (retired deity, lowercase, unique ASCII).

    Some initial notes on what my first customer taught me

    Mike's Notes

    The first in a series of notes reflecting on what my first customer has taught me so far. 

    Resources

    References

    • Reference

    Repository

    • Home > Ajabbi Research > Library >
    • Home > Handbook > 

    Last Updated

    12/06/2025

    Some initial notes on what my first customer taught me

    By: Mike Peters
    On a Sandy Beach: 09/06/2025

    Mike is the inventor and architect of Pipi and the founder of Ajabbi.

    Mr G, my excellent former Startup Aotearoa coach, had suggested that for my first customer, I find a "teaching customer" who was happy to be a crash-test dummy.

    It was intended to take something that works in the lab and apply it in the real world to solve real problems for a real customer, who would provide feedback, and I would learn some valuable insights.

    What happened wasn't what I expected, and there were lots of surprises. I'm still learning something new every day by having to get out of the door and solve real-world problems (Thank you, Steve Blank).

    First customer

    This week, the website of my first (pro bono) customer went live as an early beta. It was a great success, despite there being a lot more to be done. 

    The website is for a national disability organisation in New Zealand.

    Requirements

    The website should be published in different screen formats and languages, similar to how Wikipedia operates.

    • Screen formats
      • Mobile
      • Desktop
      • Braille device
    • Languages (number of speakers in NZ)
      • English (4,482,000)
      • Māori (213,000)
      • NZ Sign Language (20,000)
      • AAC picture language for non-verbal people, similar to what Prof. Stephen Hawking used. (?)

    The login area should be easily customised to meet the specific needs of each registered user. Examples include

    • Colour-blind (14 types)
    • Autism
    • Dyslexia
    • Muscular Dystrophy (large buttons)
    • Deafblind (some of whom can't use screen readers, so use tactile braille)
    • Epilepsy
    • etc

    Pipi CMS needs to provide extensive automation, making it easier for a volunteer team to handle the configuration aspects and allowing people with disabilities to maintain the website in the long term.

    Many disabled people in New Zealand are isolated and impoverished because of the lack of government support. It needs to work for elderly people who often use much older computers, as well as for the young who use the latest technology. No one gets to be left behind.

    It needed to be

    • simple
    • predictable
    • reliable
    • work on any screen or device
    • and assume nothing

    The website needed to have the capacity to scale without restriction.

    What happened

    Pipi CMS can easily handle the work. The challenge was figuring out what it needed to produce. Designing and building this website had to be fast, cheap, simple and able to be done by volunteers who also faced their own health and support issues.

    No complex tools, such as Figma, were used.

    A great deal of rapid experimentation was conducted to determine what would work, using straightforward technology.

    • Built the 1200-page website by hand
    • Used simple standard layout templates
    • Used real data
    • Performed extensive search and replace operations
    • HTML Pages were manually laid out using an outdated but fast and straightforward method: hidden nested tables.

    During this time, Google Search was blocked.

    Testing

    The beta version of the website was made available to many people with disabilities, their families, and support workers to gather feedback. Further modifications were then made rapidly until everyone was happy with the result.

    Google Search was then unblocked, and a wider group was invited to use it.

    Next steps

    The existing layout templates (using nested tables) will be imported into Pipi CMS, connected to the content database and then automatically created by Pipi 9 CMS as static HTML pages most days.

    All of the HTML code in these templates will then be converted to use CSS style sheets, which will make the website mobile-friendly (it's not yet). This will also enable significant changes and enhancements to the website's appearance.

    A separate website for mobile with precisely the duplicate content, similar to what Wikipedia has done, will then be created.

    The website will then be promoted to a broader audience.

    Screen Reader

    A significant effort will then be made to ensure it works seamlessly with screen readers, braille machines, and meets the WAI-ARIA 1.2 and WCAG 2.2 standards for web accessibility.

    What I learned

    Initially, attempting to make the website WAI-ARIA compliant proved to be a significant mistake, resulting in a 4-month delay. So was using style sheets.

    It was much faster to create cheap and dirty HTML web page prototypes with rapid feedback loops measured in hours. The design and testing process went through several hundred cycles.

    The biggest challenge was discovering the customer solution (how the website content and navigation were organised), not the technical means to deliver it.

    How forgiving people were in an honest and open process, which initially went down many rabbit holes.

    It was a privilege and an honour to be part of this. This kind of learning is priceless.