We should be able to the get the functionality from Automated Drupal SaaS with Aegir3 working here in a generic way (if it doesn't already).

The Services API provides a lot of what we need for merging everything into Aegir SaaS in a more standard way so let's try to do it here instead.

Comments

colan created an issue. See original summary.

colan’s picture

I'll be working on this in the 7.x-1.x-hosting_saas branch for now.

colan’s picture

After discussing with gboudrias, we've decided that we'll create a submodule here for all of the SaaS stuff, which will house the configuration aspects.

There will be defaults that can be overridden. One of the included things, for example, will be a default Services endpoint set programmatically.

colan’s picture

Title: Merge SaaS suite of modules into Hosting Services » Merge SaaS suite of modules into Aegir Services
Issue summary: View changes

Fixing title.

colan’s picture

Component: Code » Aegir SaaS

  • colan committed 3347c55 on 7.x-3.x
    Issue #2705805 by colan: Updated links in README file.
    
  • colan committed d7f8558 on 7.x-3.x
    Issue #2705805 by colan: Placed all modules in new Aegir Web Services...
  • colan committed 94a94a2 on 7.x-3.x
    Issue #2705805 by colan: Remove permissions for anonymous users.
    
  • colan committed 738c9ac on 7.x-3.x
    Issue #2705805 by colan: Replaced non-existent "create task" with "...
  • colan committed 507b013 on 7.x-3.x
    Issue #2705805 by colan: Replace nonexistent create...
  • colan committed 744154b on 7.x-3.x
    Issue #2705805 by colan: Ensure an argument is passed to the REST test...
  • colan committed 6c26a93 on 7.x-3.x
    Issue #2705805 by colan: Moved all submodules into a new submodules...
  • colan committed 6b60d24 on 7.x-3.x
    Issue #2705805 by colan: Better title for the example endpoint.
    
  • colan committed c359609 on 7.x-3.x
    Issue #2705805 by colan: Copied Aegir SaaS from its own project to a...
  • colan committed a5a2f64 on 7.x-3.x
    Issue #2705805 by colan: Updated hosting_saas's info file.
    
  • colan committed 9732e7d on 7.x-3.x
    Issue #2705805 by colan: Added module to list of features for enabling/...
  • colan committed 7dbb8bb on 7.x-3.x
    Issue #2705805 by colan: Cleaned the Hosting feature file for SaaS.
    
  • colan committed 793dac6 on 7.x-3.x
    Issue #2705805 by colan: Added install file and uninstall hook.
    
  • colan committed 16d1aaa on 7.x-3.x
    Issue #2705805 by colan: Added link to configuration from Modules page.
    
  • colan committed a620a60 on 7.x-3.x
    Issue #2705805 by colan: Removed execute bit from all SaaS files.
    
  • colan committed e994789 on 7.x-3.x
    Issue #2705805 by colan: Removed execute bit from the Hosting features...
  • colan committed 6ad1e5d on 7.x-3.x
    Issue #2705805 by colan: Removed API key handling now handled by...
  • colan committed edb5fc2 on 7.x-3.x
    Issue #2705805 by colan: Stop creating task for non-existent node and...
  • colan committed b3b320f on 7.x-3.x
    Issue #2705805 by colan: Started adding SaaS's alter hook for adding...
  • colan committed cf9b3ff on 7.x-3.x
    Issue #2705805 by colan: Removed duplicated function already in...
  • colan committed 4774024 on 7.x-3.x
    Issue #2705805 by colan: Moved @todo to appropriate function.
    
  • colan committed 5b77beb on 7.x-3.x
    Issue #2705805 by colan: Added documentation for...
  • colan committed de6c128 on 7.x-3.x
    Issue #2705805 by colan: Improved documentation for...
  • colan committed 624f6bc on 7.x-3.x
    Issue #2705805 by colan: Remove check for SaaS clone already running....
  • colan committed 570829d on 7.x-3.x
    Issue #2705805 by colan: Removed unimplemented maximum number of sites...
  • colan committed cb812ff on 7.x-3.x
    Issue #2705805 by colan: Added basic @file documentation for Aegir SaaS.
    
  • colan committed 4c10ef3 on 7.x-3.x
    Issue #2705805 by colan: Updated SaaS's admin settings form.
    
  • colan committed e6ebf75 on 7.x-3.x
    Issue #2705805 by colan: Added first alter for SaaS variables along with...
  • colan committed 857b584 on 7.x-3.x
    Revert "Issue #2705805 by colan: Removed unimplemented maximum number of...
  • colan committed 25d1da3 on 7.x-3.x
    Issue #2705805 by colan: Implemented checking for maximum number of SaaS...
  • colan committed ff35963 on 7.x-3.x
    Issue #2705805 by colan: Added more SaaS module dependencies.
    
  • colan committed c5014ca on 7.x-3.x
    Issue #2705805 by colan: Added Drupal role for SaaS.
    
  • colan committed 832f39b on 7.x-3.x
    Issue #2705805 by colan: Added Drupal user for SaaS.
    
  • colan committed 86844eb on 7.x-3.x
    Issue #2705805 by colan: Set the SaaS role to be used by Services API...
  • colan committed 870305d on 7.x-3.x
    Issue #2705805 by colan: Added the default endpoint configuration for...
  • colan committed 8f467df on 7.x-3.x
    Issue #2705805 by colan: SaaS user/role additions/removals are now...
  • colan committed 047fa7c on 7.x-3.x
    Issue #2705805 by colan: Ensured new site URL matches configured SaaS...
  • colan committed ab64839 on 7.x-3.x
    Issue #2705805 by colan: Ensured that we have a DB server ID for a SaaS...
  • colan committed 05b2393 on 7.x-3.x
    Issue #2705805 by colan: Ensured that we have a platform ID for a SaaS...
colan’s picture

Branch moved to the new 7.x-3.x to match the current release of Aegir (and also Services). The first alpha release will be published momentarily.

Here are some things that are left to do:

colan’s picture

Version: 7.x-1.x-dev » 7.x-3.x-dev

  • colan committed e156ad6 on 7.x-3.x
    Issue #2705805 by colan: Added role permissions for SaaS on module...

  • colan committed 8d8db46 on 7.x-3.x
    Issue #2705805 by colan: All SaaS variables are now purged on uninstall.
    

  • colan committed 44bca18 on 7.x-3.x
    Issue #2705805 by colan: Ensured SaaS clone task alter only runs with...

  • colan committed 9d81033 on 7.x-3.x
    Issue #2705805 by colan: Added validation for SaaS configuration form.
    

  • colan committed 435de7d on 7.x-3.x
    Issue #2705805 by colan: Ensured that the new SaaS site has a legal URL.
    

  • colan committed d309d7c on 7.x-3.x
    Issue #2705805 by colan: Removed old SaaS task creation hook.
    
Yuri’s picture

Thanks for the great work, colan. I'll test it out on my BOA box.

Yuri’s picture

If Aegir Services is the final name for this module, need the filenames hosting_services.* also be renamed sooner or later, to prevent confusion?

colan’s picture

I kept is as hosting_saas just because that's what it was before and to prevent DB changes, but yes, hosting_services_saas would be convention. I personally don't think it's worth the effort to switch, and I probably won't get to this unless someone convinces me it's really important. However, I'd welcome patches.

@gboudrias: Thoughts on this?

In other news, I've moved everything else in the above list to separate issues except for the hosting_saas_utils work. That will still be done in here.

gboudrias’s picture

I agree, it's not worth the switch though it would be standard.

gboudrias’s picture

Status: Active » Needs review

I created the hosting_saas_utils_merge branch. Please review.

In short, I took the compromise route of making two tabs in the SaaS tab for the settings, as original (saas) form is a system settings form, and it seems pointlessly hard to add the dynamic for to it.

Also, I put what I could in hosting_saas.utils.inc. I don't think we need to change the function names, in fact things are probably clearer if we don't.

After some tests, it seems ready to merge, but there's a lot of subjective decisions involved so please take a look.

colan’s picture

Sounds great! Thanks for doing that.

I'll review today.

  • colan committed 809a6fe on 7.x-3.x
    Issue #2705805 by colan: Split SaaS config into Basic settings, Client...
colan’s picture

Status: Needs review » Fixed

After some minor changes and reorganization, we just merged that branch into 7.x-3.x.

There are now 3 config forms (subtabs under SaaS):

  • Basic settings
  • Client handovers
  • Injected variables

We can now handle individual issues in their own tickets.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.