Skip to content
lexoyo edited this page Jul 31, 2012 · 14 revisions

Silex wiki

this is the wiki for Silex which is always under development, see Silex v2 specifications

see also SLPlayer FAQ

You might want to see the RoadMap to know what is implemented, what is in progress and what is planed.

About Silex

Silex, live web creation is a software used by designers to assemble multimedia content and publish it online and on the desktop. You are able to produce user interfaces quickly, and directly in the browser.

FAQ

What is Silex? A software? A framework? A library?

Silex is a software made of

  • Silex application framework, ready to deploy server which includes
    • major plugins such as the SLBuilder WYSIWYG editor, the basic blocks
    • graphical goodies: themes, skins, loaders, animation layouts...
    • libraries: swfObject, swfAddress...
    • the SLManager application used to manage the publications and the server
  • Silex haXe libraries
    • Cocktail, Silex Labs abstraction layer
    • SLPlayer, the open source virtual machine used to render graphical user interfaces and digital publications
  • amfPHP, Silex Labs world wide known remoting library used to communicate between the client and the server side parts of Silex
  • SLExtend, the open architecture library
    • a plugin system, with settings, activation
    • an "override" concept, and maybe hooks and filters
    • sequence and context concepts
  • SLExchange for the distribution, installation and update of the plugins

What is a plugin?

A plugin is "a piece of software which enhances another software application and usually cannot be run independently" (wikipedia)

In Silex, plugins can do

  • what SLPlayer plugins can do - see SLPlayer FAQ
  • what amfPHP plugins can do - see amfPHP codex for documentation about plugins
  • add new animation types for page transitions (animation layouts), preload animations...
  • add new tools in the tool bars, such as grid and align tools, twinning and animation tools, effects...
  • add functionality and modify the default behavior of Silex, e.g. google analytics, dee plinking, cache...
  • interactions with other software, such as SWFTools for pdf import and font manager

Sequences

to do update the sequence names

  • loadPublication
  • loadConfig
  • openPage (a set of groups)
  • openGroup
  • loadGroup
  • loadComponent
  • showGroup
  • showComponent
  • hideComponent
  • hideGroup
  • unloadComponent
  • unloadGroup

Substitution / Dynamic Override (at Runtime)

Substitute / Override a method of a class or of an instance by a custom callback with the same signature

  • check signature at compile time
  • may call parent::sameMethode
  • optim: not all methods can be substituted (meta data / macros?)
  • several substitution can be made on the same method (then it is a chain of substitution, like a chain of inheritance)
  • implementation: a macro at compile time to filter the input arguments of the method, and if the filter throws an "error", the methods is not executed and returns the error data.

Contexts

to do this is still to clarify

All elements such as block, publication, ... have a context which determines if they are loaded or not.

To be taken from Silex v1

  • What is a theme?

FileStructure

Deployed files and folders

  • libs/
  • silex/
    • silex/as3/
    • silex/js/
    • silex/php/
  • swfobject/
  • haxe/
    • haxe/js/
    • haxe/as3
    • haxe/php
  • install/
  • trash/
  • conf/
  • skins/
    • themes/
    • layouts/
    • loaders/
  • fonts/
  • plugins/
  • contents/
  • contents_themes/
  • contents_utilities/
  • media/

Where media/ and contents*/ have one folder per publication.

Source files and folders

  • framework/
    • org/
  • unit tests/
  • boot_loaders/ (1 per platform)
  • deployment/ (deployment and compile scripts)