[View]  [Edit]  [Lock]  [References]  [Attachments]  [History]  [Home]  [Changes]  [Search]  [Help] 

[U8] Web headless

The Web headless (file based) platform was designed to enable modular based development online.

A contribution is built dynamically loading default U8 image (S8 + tools) and minimal support to load modules on demand.
After loading default image the contribution folder is searched for startup files (binary and/or smalltalk files) and that way, the contribution can load efficiently. Only the code needed by the contribution can be stored in the folder.

The minimum contribution size is less than 1kb saving a lot of space on server and enabling faster load times (client cache will be used for shared code/modules).

The headless startup

At current state of development, a contribution of this platform boots from index.html loading Head support (HeadJS) and default image for Web development (U8 image of Web browser platform).
It also load the required file "startup.js" that contains the startup expression, that will be evaluated after loading the U8 image and before the page finished loading process.
The startup.js file is used to set U8 tools to this mode of development; actually sending message #loadFromExternalFiles to U8 class.
At end of loading scripts, the smalltalk expression "U8 install: #u8" is evaluated to install the U8 tools in the page, as usual.

The user can edit/upload the index.html page and customize/change this process.
He/she also can upload files to modify what is loaded on next startup.

External startup files

The current implementation of U8 class>>#loadFromExternalFiles will try to load these files (in order) in the image at startup (just before U8 tools are initialized).

File
Description
Test status
Workspace.txtThe text of this file will be put as workspace text.Uploaded Image: ok.gif
Clipboard.txtThe chunks found in the contents of this file will be initial WorkspaceAnnotationsUploaded Image: ok.gif
CommonExpressions.txtThe chunks found in the contents of this file will be loaded as Frequent ExpressionsUploaded Image: ok.gif
Playground.txtThe contents of this file will be used to set innerHTML contents of playground element.Uploaded Image: ok.gif
Sample.txtThe contents of this file will be used to set innerHTML contents of sample element.Uploaded Image: ok.gif
Libraries.txtLibrary bindings listUploaded Image: ok.gif
FileIn.txtSmalltalk modules listUploaded Image: ok.gif
Autoexec.jsLoad scripts in this file.Uploaded Image: ok.gif
Autoexec.st.jsLoad scripts in this file.Uploaded Image: ok.gif
Autoexec.stFileIn the contents of this file.Uploaded Image: ok.gif
Autoexec.txtFileIn the contents of this file.Uploaded Image: ok.gif
FileNames.txtThe custom list of (URLs of) external user files.-
LibrariesLoaded.stFileIn the contents of this file after loading libraries.txt-