1 / 15

Sandbox

Sandbox. Testing your project in under 60 seconds. Daniel Hazelbaker Information Technology Director High Desert Church Email: daniel@highdesertchurch.com. Difficulties for the Developer. A developer must get their custom modules fully installed and functioning on an Arena installation.

rolf
Télécharger la présentation

Sandbox

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sandbox Testing your project in under 60 seconds. Daniel Hazelbaker Information Technology Director High Desert Church Email: daniel@highdesertchurch.com

  2. Difficulties for the Developer A developer must get their custom modules fully installed and functioning on an Arena installation. You have to prepare all the SQL scripts. Then you must export the custom modules as a new page.xml, requiring you to add all supplemental files needed one at a time without forgetting anything. After that you have to find a different Arena installation that you can test this page.xml on to make sure that you remembered to include all the files, set the right paths, have the right module settings, etc. If anything is wrong you have to begin all over. Finally you can upload your page.xml to the community server and announce that it is ready and hope everybody can find the correct version. Difficulties for the End-User As an end-user wanting to install the custom modules you have to find the latest version of the modules you want. Download them and extract the package bundle. Run the SQL installer script(s) on the Arena server, remembering to run them against the correct database. Then you have to upload the page.xml into Arena. At that point you should have a working installation. When you are ready to upgrade your version of Arena you have to call around and find out if it is going to break any custom modules or just try the upgrade and hope for the best.

  3. Difficulties for the Developer A developer must get their custom modules fully installed and functioning on an Arena installation. You have to prepare all the SQL scripts. Then you must export the custom modules as a new page.xml, requiring you to add all supplemental files needed one at a time without forgetting anything. After that you have to find a different Arena installation that you can test this page.xml on to make sure that you remembered to include all the files, set the right paths, have the right module settings, etc. If anything is wrong you have to begin all over. Finally you can upload your page.xml to the community server and announce that it is ready and hope everybody can find the correct version. Difficulties for the End-User As an end-user wanting to install the custom modules you have to find the latest version of the modules you want. Download them and extract the package bundle. Run the SQL installer script(s) on the Arena server, remembering to run them against the correct database. Then you have to upload the page.xml into Arena. At that point you should have a working installation. When you are ready to upgrade your version of Arena you have to call around and find out if it is going to break any custom modules or just try the upgrade and hope for the best.

  4. What is a Sandbox? Wikipedia: A sandbox is a testing environment that isolates untested code changes and outright experimentation from the production environment or repository RefreshCache: A sandbox is a per-user, clean installation of Arena that is built based upon a specific version in under 30 seconds and used for testing purposes.

  5. What is a Sandbox? • Each sandbox is unique to the user who created it. • Multiple versions of Arena are available for testing against. • 2009.2.100 • 2010.1.100 • 2010.2.100 (coming soon) • Each sandbox built is a clean installation of Arena. • Each user gets only a single sandbox. • Rebuild your sandbox as often as you like. • Takes 30 seconds or less.

  6. Why use a Sandbox? • Ensuring that your SQL scripts, modules or full packages will work on any installation of Arena can take time. • Keeping a vanilla version of Arena around is just one more thing to keep track of and keep up to date which you don’t want to do. • Testing against multiple version of Arena takes even longer. • Sandboxes make this all easier.

  7. Demo

  8. Packaging Making distribution and installation easier.

  9. What is the Packaging Framework? • Installer System. • Born out of Package Builder. • Based on the concepts from the Voracity Installer and the RPM Package Manager (Linux). • Designed to be tightly integrated into Arena. • (yet not dependant upon any specific version) • Provide dependency tracking. • One-click distribution. • One-click installation.

  10. RefreshCache.Packager (Namespace Subject To Change) • Provides a framework for working with page.xml files either inside of Arena or outside of Arena. • Open project (template) files for preparing how a page.xml file will look. (Package Builder) • Building a final page.xml output from a template. • Opening and parsing a built page.xml file.

  11. RefreshCache.Packager.Migrator (Namespace Subject To Change) • Generic database interface (can be used from either inside or outside of Arena). • Create & modify tables, stored procedures, row records, etc. • Version based upgrades & downgrades:only run SQL commands that need to be run. • Version based configuration & un-configuration: run .NET code when a dependency is installed or removed. • Migration code can be embedded into a distributed page.xml file.

  12. RefreshCache.Packager.Manager (Namespace Subject To Change) • Public interface to installing and removing packages from an Arena installation. • Query the database to see what packages are installed. • Safe installation and removal of packages. • Database changes are performed inside a reversible transaction. • File system changes are recorded and can also be reversed if something fails. • Self-installation of the packaging system.

  13. Packaging Framework Status • Still has bugs to be worked out. • Needs more unit tests to test all functionality. • Installs itself successfully. • Can install, upgrade and remove other packages. • Compatible with current Arena page.xml format.

  14. Packaging Framework Future • Central repository for hosting packages. • Support for multiple repositories (stable, beta, etc.). • Automatic dependency resolution. • GUI interface to browse and install packages. • Integration with the Arena QA Checklist project.

  15. More Resources • Wiki - http://redmine.refreshcache.com/projects/refreshcache/wiki/Package_Manager • API Reference - http://redmine.refreshcache.com/projects/refreshcache/files

More Related