Presentation is loading. Please wait.

Presentation is loading. Please wait.

FF 1 : Modules A presentation by Robin Upton (2009-08-03) ‏ Latest version at www.altruists.org/ff13 Attribution – NonCommercial - ShareAlike www.altruists.org.

Similar presentations


Presentation on theme: "FF 1 : Modules A presentation by Robin Upton (2009-08-03) ‏ Latest version at www.altruists.org/ff13 Attribution – NonCommercial - ShareAlike www.altruists.org."— Presentation transcript:

1 FF 1 : Modules A presentation by Robin Upton (2009-08-03) ‏ Latest version at www.altruists.org/ff13 Attribution – NonCommercial - ShareAlike www.altruists.org V1.2.0 http://www.altruists.org/ff13 Recommended Pre-requisite: FF12: Clients 3

2 What is an F2F Module? A module is a digitally signed, uniquely identified set of resources: Modules are blueprints for soft-nodes, defining their behaviour, in the same way that XVMs are blueprints for soft-systems. rdf:about http://friend2friend.net/modules/lib/ MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwt5pEliqkVR6ZV5umPoRpwmLlNfG6Q EpKju7VM7aHlnJDn1/mS1Gg82+BXAXA9EhTNoLrg7Pi6X0X9q7iRS5hrBbR10ZNyBkAuxQdPga QINMBo7PopDokaoIS4yQTJjm3x+x1SLqWBlMKNsS4od9eHMZLLpysziYQDQGUqFIi/wIDAQAB pkey Services Filters Displays Images Scripts Hooks Datastores

3 Resources Modules can have 7 types of resources: Clientside Serverside image SVG image filter Automated XSL Transformservice Extended XSL Transform datastore XML data file script XML instruction file display XSL Transform hook Set of XSL Transforms

4 Requesting Resources Datastores are only requested from services running at that node itself: Most resources are requested using a URI (Universal Resource Identifier)‏ image display hook filter (not requested)‏ datastore NCName 1 8 service script

5 Images Module images are Scalable Vector Graphic (SVG) documents rdf:about = src = version = When clients process an, they request this resource by URI from their F2F soft-system: Client Soft- system enabled = {0, 1} All resources can take this attribute, but it is not shown again, for brevity Where the server can find the SVG file on disk. uri src Notation! Required attributes are shown in bold, others are optional

6 Displays Module displays are XSL Templates, applied by clients: rdf:about = src = version = They are requested by items, which tells clients to request the appropriate XSL from the server. Although all resources except datastores need this attribute, it is not shown again, for brevity Client Soft- system uri src...optional XML...

7 Hooks Hooks are identified by URI: compiled list of handlers rdf:about =, “”, “*”} src =” ”/> On this, modules can hang their own handlers, which link a namespace to an XSLT script: Soft- system uri src <hookreq>...XML Data... http://www.altruists.org/ff11 They are explained in detail in presentation /FF11. <ha <h<h

8 Filters Module filters, to automate the soft-system, are defined as follows: rdf:about = position = {“bottom”, “exec”, “top”} http://www.altruists.org/ff9 These are used by the soft system when processing messages and servicereqs as explained in presentation /FF9. Filters contain one and/or item, which reference the XSLT that implements them, and optional process-directives or a privilege: privilege= {“*”, 0, 1, 2...} p.d’s /> privilege confers on scripts for a number of crunches (or, with *, an unlimited number) the access permissions of the module, rather than those of the packet being filtered.

9 Scripts privilege = {“*”, 0, 1, 2...} Module scripts are chunks of XML to be interpreted. rdf:about = src = default = {“allow”, “deny”} role = These are used by the soft system in a similar way to shell scripts, to automatic actions on system shutdown, installation etc. This defines the purpose of this script, which is one of a fixed set.

10 Services privilege = {“*”, 0, 1, 2...} Module services augment the core services, detailed as follows: visibility = {“protected”, “public”, “private”} output = {“*”, } rdf:about = input = {“*”, } src = default = {“allow”, “deny”} http://www.altruists.org/ff5 The servicereq processing model is explained in detail by /FF5. Protected services are accessed by a message to the node. Services can callout to public services without messaging or access control. Private services are invisible to other soft- nodes. midput = Paths to XSDs for runtime validation

11 Datastores Datastores are XML files at the soft-node, detailed as follows: rdf:ID = Services Soft- system ID src The identifier exposed to scripts. It does not need to be universally unique, only unique within this node. fish 1 Datastores are accessed through the bag-* and xml* services at the soft node. schema = src = Path to a schema to validate this.

12 Alternative Syntax Standard (tidy) syntax:... optional XML... uri uri (... XML... )‏... required XML... uri... XML... Two forms are available for the following request items: Expanded (nestable) syntax:

13 http://friend2friend.net/ If they need privileged accesses to other module’s resources, modules must declare this, so these privileges can be granted on installation. Module Requirements http://friend2friend.net/modules/window/ http://friend2friend.net/modules/desktop/ Modules are currently referenced only using URI. Reference by version may be useful for forward compatibility http://friend2friend.net/modules/dev/

14 Each module must have an XSD, with its own target namespace. Module Datatypes Modules may use xml data defined by other modules, though this means adding that module to the list of requirements. It is usually only helpful for modules which are already required. Modules services should use F2F elements as arguments if an appropriate one exists, or define their own otherwise.

15 Summary Module resources offer complimentary functionality. Recommended Follow-up: FF14: Software Design http://www.altruists.org/ff14 Soft-nodes are instances of installed modules. Most resources are identified by URI and requestable through XML. Services Filters Displays Images Scripts Hooks Datastores uri Services Filters Displays Images Hooks Datastores /f2f


Download ppt "FF 1 : Modules A presentation by Robin Upton (2009-08-03) ‏ Latest version at www.altruists.org/ff13 Attribution – NonCommercial - ShareAlike www.altruists.org."

Similar presentations


Ads by Google