The story of system.startup.startupScript

Open
#5 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
45/100
Issue type
Documentation
Clarity
Needs clarification
Activity status
Active
Domain
documentation

Research direction

Start with the system.startup.startupScript entry point and compare its source with the twelve startup stages listed in the issue. The issue names no target documentation file, test, or required output, so clarify where the explanation should live and what format marks the work as complete.

Written by the indexing model from the issue text.

Description

I asked Claude to summarize what system.startup.startupScript does. It's very good at understanding the whole of what a 309-line script written over many years by many people, does.

  1. Bails if it already ran. system.temp.Frontier existing is the "already started" flag; otherwise it creates that table, stamps the startup time, and sets startingUp = true.

  2. Records where the root file is -- Frontier.pathToRoot and Frontier.pathstring.

  3. Starts the scheduler and fixes the clock -- scheduler.init, scheduler2.init, then makes sure the everyMinute, hourly, and overnight tasks are set in the future (overnight keeps its hour, e.g. 3AM).

  4. Opens the About window (if user.prefs.openAboutWindow says so) and starts the log (log.startup).

  5. Runs the external startup commands file -- opmlStartupCommands.txt next to the app, if present -- then calls Frontier.enableAgents.

  6. Opens guest databases -- everything in user.databases with openOnStartup true, running each one's #startup script if its runStartupScript is true.

  7. The init parade -- html.init, webserver.init, betty.init, people.init, custody.init, soap.init, export.init, and mainResponder.startup on the OPML Editor.

  8. First-run business -- on user.prefs.firstRootRun: license agreement, the user-info dialog, root updates.

  9. Builds the menubar, initializes proxy prefs, installs Tools (in a try, so a Tools failure can't kill the startup), and finds the default browser on Windows.

  10. Calls system.callbacks.startup -- the user's own startup scripts.

  11. Starts the daemons -- inetd.start, last on purpose so servers come up after everything else is ready.

  12. Clears startingUp -- the script's own comment: "signal to all who care, let the hits begin!"

Dominant language
No language data
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from scripting/helloFrontier

All issues in scripting/helloFrontier

Similar issues

More Documentation issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.