• You do not have permissions to view this page - please try logging in.

Introduction

DekiScript has evolved into a powerful language for mashing up content and even creating new functionality within MindTouch. In order to facilitate smoother integration, DekiScript special pages would enable dynamic applications to be generated with Admin oversight.  Need an advanced search for your site? Special:AdvancedSearch, all driven by DekiScript.  Want a global list of tags? Special:SiteTags.

Purpose

Adds the ability to extend wiki functionality without any internal code changes. No UI updates required; no API updates required. Additionally, this feature would open up workflow creation and productivity tool creation to the (potentially) all wiki users. If they want some functionality that doesn't exist and know how to hack at DekiScript, then, with Admin approval, the feature can be rolled out to the entire site.

Intended Audience

Targets for this feature are system integrators, situational application developers, and any advanced users that want to add new functionality within their installation.

Additional information

Misc notes

References

Any bugs, forums, other pages

http://bugs.developer.mindtouch.com/view.php?id=7403

Status

Implemented in the Olympic release.

Use Cases

User wants to augment functionality

Functional Specification

User visits Special:Foo

  • Special page exists in PHP => display the PHP special page
  • Special page does not exist in PHP => follow normal page execution path
    • Page does not exist: User must have admin to create the new special page
    • Page exists: User privs determined by page permissions (default: must be admin to edit)

Admin wants to create a new Special page

  • Navigates to new special page and the editor is opened to create the new page
  • Admin defines a dekiscript special page that already exists in PHP
    • Given that the API has no way to know if a special:foo already exists, PHP gets rendered first

Admin wants to grant all users access to a special page

  • Using the built in permissioning system, users can be given read & edit privs to any DekiScript Special Pages

Technical Specification

UI requirements

When parsing a Special: namespace request, the UI will need to check if there is a plugin for the page. If no plugin is detected, then the normal page execution path is followed. All page restrictions are honored.

API requirements

The api will need to support pages in the Special namespace with additional permission checks.  Only Admin? users should be able to create new DekiScript Special pages and then update the permissions, potentially allowing other user types to update the Special page's DekiScript. These pages are rendered with the normal page code path so other than the initial requirement to be an Admin for creation, no other special cases need to be addressed.

 

Open questions

Do special pages allow for attachments?

  • Could be a useful feature if the page requires a javascript file/library or additional images to beautify the page. Increases the barrier for distribution. e.g. can't just copy the DekiScript code, would require the other files to be attached as well. (import/export?)
  • Can Admins open up DekiScript page permissions for all users?
  • Where do the permissions inherit from? Special:? Do we require this page to exist?
Tag page
Viewing 3 of 3 comments: view all
can we make dekiscript be able to see the POST info in this scenario?
Posted 08:20, 25 Jun 2010
@klumsy DekiScript's ability to see POST data is based on the UI. We could pass that along in this special case.
Posted 08:53, 25 Jun 2010
b.t.w do you have any examples of dekiscript special pages versus standard ones?
Posted 10:57, 25 Jun 2010
Viewing 3 of 3 comments: view all
You must login to post a comment.

Copyright © 2011 MindTouch, Inc. Powered by