Skip to content

Instantly share code, notes, and snippets.

@preaction
Created February 17, 2011 21:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save preaction/f52e927f5c31659d06bc to your computer and use it in GitHub Desktop.
Save preaction/f52e927f5c31659d06bc to your computer and use it in GitHub Desktop.
No website exists in a vacuum. We have development sites. We have staging sites. We have staging areas on our production site. We want to move content between all these things.
WebGUI can do it. We can use packages to move content between sites, but we have to make our content a package, download the package, go to the other site, make sure we're in the right place in the Asset Manager, upload the package, and finally verify that everything was set properly.
This is not difficult, but it is lengthy and time-consuming, especially if you have a large network of sites. You could forget one. Or worse, someone could edit the package on one site and you could blow away their changes with your own.
In addition, it would be nice to have a way to move large chunks of content from a publicly available location (like WebGUI.org). The style templates in the bazaar could be browsable from your local WebGUI site. Updates to included documentation could be pulled from WebGUI.org into your site.
To make all these things possible, I propose WebGUI Network.
A single WebGUI site would create a WebGUI Network. This WebGUI site would own the network and would have ultimate control over how the network would work:
*) whether sites in the network can know about each other
*) whether sites in the network can pull content from each other
*) whether sites in the network can push content to the Owner
*) whether new sites can add themselves to the network, or if they need approval
With this level of control over how the WebGUI Network works, we can make a variety of types of content syndication: Single-provider, shared repository, and peer-to-peer.
Single Provider
WebGUI.org could provide a package of all the documentation for WebGUI. Anyone would be allowed to join this network, but the only thing to do when you're in the network is pull updated WebGUI documentation from WebGUI.org.
Shared repository
WebGUI.org could provide a marketplace. Anyone would be allowed to join the network and browse and download content from WebGUI.org. Anyone would be allowed to create new content on the network and push it to WebGUI.org. This content could then be downloaded from WebGUI.org. Peers would not be able to push content between sites. Only the uploader would be able to update the content on WebGUI.org.
Peer-to-Peer
An intranet could create a shared repository of common documents, templates, scripts, and images. Each node could push or pull packages from the shared repository. Each node would also be able to provide packages of their own to share with other nodes in the network. Any node would be able to see any other node's packages and download them. Each package could be given granular privileges for read and write access (allowing nodes to push changes around).
Conflicts would be resolved by the person doing the push/pull before the action succeeded. The user would be presented with a visual display of the differences in their version and the version they're trying to replace and would be allowed to edit their version to remove the conflict before trying the action again.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment