Goals
We'd initially intended to take this opportunity to completely rewrite Aegir's codebase, however this has been postponed. For now, we are looking at doing a more-or-less straight port to Drupal 7. Our reasoning is that we need a stable D7 release by the time Drupal 8 is released, since D6 support won't extend much beyond that point. Considering the time-frame and available resources, we feel that a straight port to D7 will minimize risks, and give us the breathing room needed to undertake more significant architectural changes in the following release.
That said, we are still taking this opportunity to re-factor significant portions of the code-base. In addition, we have a number of new features and improvements that we'd like to see in Aegir 3. At this point, the scope remains somewhat fluid. We'll update this issue with additional details as they become more concrete.
We're intending to #2168955: switch to semantic versionning for Aegir 3.0.0. This will allow us to have a "LTS" (long-term support) release in the 3.0.x series, but also allow us to add features, and make non-API-breaking changes in 3.x.0 releases.
Priorities
We need to prioritize getting a stable 3.0.0 version released. To that end, we've begun tagging issues to allow us to help with that prioritization.
- Aegir 3.0.0: Immediate priorities blocking an initial release.
- Aegir 3.1.x: Feature additions and fixes that we'll want to prioritize next.
- Aegir 3.x.y: Anything else that we can likely fit into the Aegir 3 release cycle.
How can I get involved?
Help with any of the issues tagged for our initial 3.0.0 release is the priority.
We'll shortly be documenting a (relatively) simple way to test Aegir 3 and patches attached to our issues. In addition, we're shifting our documentation efforts to Aegir 3, which we'll be hosting on at: http://aegir.readthedocs.org/en/latest/index.html. These are both great ways for non-developers to help out.
In addition, you can have a look at the links to the issue queues for each of the components below. Find an issue that you like the look of and try to progress it a little, you don't have to complete the issue, you can just post a helpful comment, make a diagram, etc. You can chat with the Aegir maintainers via IRC if you need guidance on what issues to look at.
Donate Now to enable others to work more on this.
Provision
Provision's 7.x-3.x Issue Queue
Provision is independent of Drupal (since it's just Drush extensions) so there's little to do there directly related to the D7 port. However, this is where most of the heavy lifting in Aegir happens, so there are a number of issues we'd like to tackle in Aegir 3.
Eldir
Eldir's 7.x-3.x Issue Queue
The theme has already been ported to D7, it's in the 7.x-3.x branch of the eldir project. See #1907010: Port Eldir to D7 for more information. A UI refresh for Aegir 3 would be nice, but isn't currently a priority. If you're a UX enthusiast, we'd love to hear you ideas.
Hostmaster
Hostmaster's 7.x-3.x Issue Queue
There is a port of the install profile in the 7.x-3.x branch of hostmaster. See #1455232: Create a basic install profile for Hostmaster for more information. While there isn't likely to be significant changes isolated to the installation profile, this is the queue used by the maintainers for issues that span multiple components.
Hosting
Hosting's 7.x-3.x Issue Queue
This is the big one! This effort is progressing well: Aegir itself will install, and servers, platforms and sites can be created. We will soon undertake completing the D7 port of the non-core features. We are currently forward-porting much of the recent work that went into the Aegir 2 release. Much of what remains is Views integration fixes.
Comments
Comment #1
ergonlogicI've created issues for the "core required" Aegir modules, which should probably be our priority. I figure these are:
I'll leave the rest alone for now, so as not to clutter the issue queue.
Comment #2
Steven Jones CreditAttribution: Steven Jones commentedThanks for writing this up!
Just thinking out loud, but does it make sense to have a 7.x-1.x branch, that has feature parity with 6.x-1.x and is basically a straight port? 7.x-2.x then becomes the new hotness afterwards.
Comment #3
anarcat CreditAttribution: anarcat commentedI am not sure we have the manpower to maintain 3 branches at a time. I would rather keep D7 as one of the features of 2.x than try to push three release branches at the same time...
Anyways, as things stand now, 2.x is pretty close to 1.x in terms of features and if we concentrate on the D7 port, I feel that is pretty much what it's going to be. :)
We could, however, have a feature branch for D7... but I would try to merge it in as soon as it's functional. Same for Drush 5 support, btw.
Comment #4
Steven Jones CreditAttribution: Steven Jones commentedI'm going to port Eldir!
Comment #5
Steven Jones CreditAttribution: Steven Jones commentedSo I've worked on a 'harness' for porting Eldir (will open a different issue for that) that is basically a D7 implementation of the main tables and forms in Aegir, you can build it using the stub here:
http://drupal.org/sandbox/darthsteven/1267494
Comment #6
Steven Jones CreditAttribution: Steven Jones commentedI've made the 7.x-2.x branch actually use Drupal 7, which means that branch is totally broken now, but there's a 6.x-2.x for those that want new stuff, but not Drupal 7. It just makes more sense that way.
The Eldir theme has been ported and committed to Hostmaster 7.x-2.x.
Comment #7
Steven Jones CreditAttribution: Steven Jones commentedComment #8
halcyonCorsair CreditAttribution: halcyonCorsair commentedSubscribing.
Comment #9
tema CreditAttribution: tema commentedMe too ))
Comment #10
skwashd CreditAttribution: skwashd commentedsubscribe
#spam
Comment #11
anarcat CreditAttribution: anarcat commented@skwashd - you can follow issues now, no need to subscribe anymore! sorry for the spam.
Comment #12
Steven Jones CreditAttribution: Steven Jones commentedChanging title to reflect what we're actually going to do, and assigning it to me so it's clear that I have ownership of this initiative.
Comment #12.0
Steven Jones CreditAttribution: Steven Jones commentedupdated with the issues I've created
Comment #13
Steven Jones CreditAttribution: Steven Jones commentedComment #13.0
Steven Jones CreditAttribution: Steven Jones commentedUpdate the summary to indicate that we are doing a rewrite, not a port.
Comment #13.1
Steven Jones CreditAttribution: Steven Jones commentedUpdated issue summary.
Comment #13.2
Steven Jones CreditAttribution: Steven Jones commentedUpdated issue summary.
Comment #13.3
Steven Jones CreditAttribution: Steven Jones commentedUpdated issue summary.
Comment #13.4
Steven Jones CreditAttribution: Steven Jones commentedUpdated issue summary.
Comment #13.5
Steven Jones CreditAttribution: Steven Jones commentedUpdated issue summary.
Comment #13.6
Steven Jones CreditAttribution: Steven Jones commentedUpdated issue summary.
Comment #13.7
Steven Jones CreditAttribution: Steven Jones commentedUpdated issue summary.
Comment #13.8
Steven Jones CreditAttribution: Steven Jones commentedUpdated issue summary.
Comment #14
Steven Jones CreditAttribution: Steven Jones commentedSo we pretty much decided over on the community site to put the D7 port on hold, and do a D8 port instead!
Comment #14.0
Steven Jones CreditAttribution: Steven Jones commentedUpdated issue summary.
Comment #15
Steven Jones CreditAttribution: Steven Jones commentedComment #16
Steven Jones CreditAttribution: Steven Jones commentedComment #17
cweagansEr, okay, I'm glad this discussion happened where people could actually see it and participate.
This is madness. Think about this timeline a bit more: D6 will be EOL and unsupported by the time Aegir is released on top of Drupal 8. Most of the things that we'd have to do for a D8 rewrite are nearly identical for what we'd have to do for a D7 rewrite (converting some things to Entities, cleaning up the code, perhaps replacing all the hardcoded lists with Views, etc). Telling people that they have to install a really old version of Drupal just to run Aegir just won't do. I really hate that I have to run Drupal 6 to be able to use Aegir, and I suspect that there are some other people in that boat as well.
If you guys don't want to rewrite the frontend on Drupal 7, then fine. But don't completely discard the idea of a D7 port - it's still important, even if it's a lot of work. I don't think it will be that bad and I'd be happy to look at certain components over the next few months. Worst case, I'll try to gather up some funding to get a developer paid to do the upgrade.
Hell, if you would have announced this a week ago, I would have submitted a GSoC project for it >.<
Comment #18
anarcat CreditAttribution: anarcat commentedThis is marked postponed (clarified the status while I'm here), which means anyone is free to pick this up and run. Code is gold.
We, on the other hand, have plenty of other stuff on our hands to run with, so we're focusing on what seems really important right now.
Note that you usually don't "install drupal" yourself to run aegir, it installs it for you, and in a dedicated platform anyways, so I don't see this as being so much of an issue.
Comment #19
cweagansSure, I can understand prioritization, but throwing out the D7 port just seems silly. Most of the things that will have to be done for a D8 port will also have to be done for a D7 port. IMO, doing the D7 port helps to line the system up for an easy-ish D8 port.
I'm aware of that, but the fact that I have a Drupal 6 installation sitting around drives me nuts. I won't even install Open Atrium anymore because of that reason.
Comment #20
Robin Millette CreditAttribution: Robin Millette commentedThis just in:
http://drupal.org/project/dns
Module to help administer your DNS records in Drupal. Will be built for Drupal 7 using the new entity system.
Comment #21
elvis2 CreditAttribution: elvis2 commentedWhat is the status on this project? It seems the aegir community is hard at work moving towards d7 but this thread seems to indicate the next drupal ready aegir platform will be for d8?
Comment #22
anarcat CreditAttribution: anarcat commentedAs far as I know, no one is working on the D7 rewrite.
Comment #23
cweagansI started on it, but have been slammed lately, so I haven't been able to work on it as much as I'd have liked.
Comment #24
anarcat CreditAttribution: anarcat commentedAwesome news! Please consider publishing your work to a sandbox so that it is not lost if you stop again. :) Are you starting from the current d7 rewrite branch (7.x-2.x)?
Comment #24.0
anarcat CreditAttribution: anarcat commentedUpdated issue summary.
Comment #24.1
anarcat CreditAttribution: anarcat commentedmention the straight port
Comment #24.2
anarcat CreditAttribution: anarcat commentedclarify status of eldir and other things
Comment #25
anarcat CreditAttribution: anarcat commentedJust to clarify the current situation: we are *not* giving up on the port to D7. If someone wants to rush this for Aegir 2, it would even be welcome, but I am doubtful that a port would be possible by the time we want to release 2.x (that is: real soon now).
We are not going to do the full entities port however - we will just do a minimal port to ensure continuity and keep the rewrite for an eventual D8 port, in Aegir 3 or 4.
So ideally, Aegir 2 would be Drupal 7 and Aegir 3 Drupal 8, but we don't want to wait that long to release Aegir 2, so it's mostl likely going to be:
Comment #26
ergonlogicFor the past couple weeks, we've been working on a port of Hostmaster to Drupal 7. We're happy to say that we've made a lot of progress, and have basic functionality working (and even a couple of enhancements already)! Here's a high-level plan for the port, showing our progress so far:
Run hostmaster through coder_upgradeEnsure hostmaster-install worksEnsure 'core' functionality works ('verify server', 'create platform' & 'install site'...)We've pushed 7.x-3.x branches to both Hostmaster and Provision, and we're currently proceeding with integrating Selenium into our testing infrastructure.
Comment #27
Steven Jones CreditAttribution: Steven Jones commentedSo while I think that adding Selenium tests for the full Aegir stack is a good idea, I wonder if we could add normal Drupal simpletests and get it working somehow.
Comment #28
ergonlogicLet's move discussion on testing back over to #1080590: Testing [meta] :)
Comment #29
marafa CreditAttribution: marafa commented@anarcat
will our installs be able to upgrade from 1.x to 3.x and bypass 2.x?
Comment #30
anarcat CreditAttribution: anarcat commented@marafa - usually not. Aegir is designed to be upgraded to skip minor but not major versions.
Comment #30.0
anarcat CreditAttribution: anarcat commentedclarify the status of everything
Comment #31
helmo CreditAttribution: helmo commentedLets discuss how we merge code from 6.x-2.x to 7.x-3.x...
Ideal would be to only work on 3.x and backport important fixes... but work on 2.x is still ongoing to get it stable.
I'd hate to lose work.
@Steven Jones or @ergonlogic: would you be willing to merge in the recent 2.x commits for the time being? Or should the committer be responsible to get it it 3.x?
Comment #32
ergonlogicGood point, @helmo.
In my opinion, we should focus on getting 2.0 released, and I wouldn't want to slow that down by asking for patches to 3.x and then backporting to 2.x. Especially since 3.x is only barely functional at the moment. However, that's obviously the best idea once we release 2.0.
I'll make some time to look at merging the recent 2.x changes into the 3.x branch, and then keeping them aligned.
Comment #33
anarcat CreditAttribution: anarcat commentedCan't we just git merge the trees?
Aka git co 7.x-3.x ; git merge 6.x-2.x?
Comment #34
ergonlogic@anarcat, that's largely the plan, but any db code changes will likely need to be adapted, etc.
Comment #35
ergonlogicI merged 6.x-2.x into 7.x-3.x, and I'll do so at least for each pre-release that we do.
Comment #36
helmo CreditAttribution: helmo commentedSetting the correct version.
Comment #37
helmo CreditAttribution: helmo commentedI guess we would also want to consider support for Drush 8.x-6.x as that is in beta now
Comment #38
anarcat CreditAttribution: anarcat commentedadding tag to be able to hunt down other similar issues.
Comment #39
anarcat CreditAttribution: anarcat commentedalright, i got rid of all the other instances of that tag - we should now use 7.x-3.x-dev for all 3.x issues.
Comment #40
helmo CreditAttribution: helmo commentedI've opened an extra meta issue to discuss Drush 6: #2002804: [meta] depend on Drush 8.x-6.x?
Comment #41
ergonlogicI merged in the changes up to RC2, and worked out enough of the bugs that 7.x-3.x will install. Working through some of the Views stuff now, since it looks like a lot of our handlers broke.
Comment #42
acbramley CreditAttribution: acbramley commentedHi all, just chiming in here to get an idea of what the plan is for this? From the issue summary it seems like you've halted work until D8 for the port? Or are you going to proceed with this D7 port as well as the D8 port down the road?
Cheers
Comment #43
cweagans@acbramley, work is ongoing. See http://drupalcode.org/project/hosting.git/tree/refs/heads/7.x-3.x and http://drupalcode.org/project/provision.git/tree/refs/heads/7.x-3.x
Comment #43.0
cweagansadded extra task
Comment #44
ergonlogicUpdated the issue summary and title.
Comment #44.0
ergonlogicUpdated issue summary.
Comment #45
acbramley CreditAttribution: acbramley commentedThanks a lot for the issue summary update, makes it a lot clearer :)
Comment #45.0
acbramley CreditAttribution: acbramley commentedUpdated issue summary.
Comment #45.1
ergonlogicUpdated issue summary.
Comment #46
helmo CreditAttribution: helmo commentedComment #47
DamienMcKennaI suggest going through each of the subprojects and creating a meta issue for each one that lists all of the issues required for a 7.x-3.0 release, that'd help focus the community towards getting the release out the door.
Comment #48
marafa CreditAttribution: marafa commentedi believe there are issues with the upgrade path. from 2.x to 2.x+1. has this been fixed in 3.x? if not shouldnt it have its own meta issue? #2181885 #2197443 etc?
also curious how production sites upgrade their installation base. or do they?
Comment #49
helmo CreditAttribution: helmo commentedI've created #2262575: [meta] Upgrade path Aegir 2.x to 3.x for this. Feel free to add...
PS: @marafa: if you add [# and ] around the issue numbers they get rendered as a link... #2181885: upgrade script should handle config move too #2197443: upgrade.sh script doesnt update drush installed via pear
Comment #50
ergonlogicI've started to tag issues with Aegir 3.0.0, Aegir 3.1.x, or Aegir 3.x.y.
I updated the issue summary to reflect this.
Comment #51
gboudrias CreditAttribution: gboudrias commentedUpdated the links in the description (the Hostmaster is now titled Hostmaster (Aegir)).
Also it seems we need to tag more issues, as there are only 2 tagged as 3.0.0
Comment #52
gboudrias CreditAttribution: gboudrias commentedComment #53
gboudrias CreditAttribution: gboudrias commentedComment #54
helmo CreditAttribution: helmo commentedI'd like to get out an alpha release before DrupalCon Amsterdam. Then we can work towards a beta during and after
Any alpha blockers?
Maybe #2300537: Merge Provision extensions into Hosting modules
Comment #55
helmo CreditAttribution: helmo commentedWe have an alpha: http://community.aegirproject.org/3.0-alpha1
Comment #56
helmo CreditAttribution: helmo commentedAlpha2: http://community.aegirproject.org/3.0-alpha2
Comment #57
helmo CreditAttribution: helmo commentedI've added a number of issues to the Aegir 3.0.0 tag.
I'm not sure all of them should be release blockers, but it's a start to get to a release...
Although I can't be there the Global Sprint Weekend might inspire some....
Comment #58
ergonlogicWe're looking at having an Aegir Summit at NYCcamp this year, in July. It'd be great to do the official Aegir 3 release then.
I doubt that we'll have semver for contrib on d.o by then, so we might want to start a 4.0.x branch for larger changes once we do an RC.
We only have a couple criticals at this point, two of which I recently escalated, as they affect backup integrity. Besides backups, I'd like to try to get SSL fixed up for 3.0, as per #2466977: [META] SSL refactor. Obviously, #1194602: [meta] Support the hosting of Drupal 8 sites is pretty important too.
I think, if we focus on these issues, getting them into a July 3.0 release is a reasonably realistic goal. I'll be working on the backup integrity issues in the coming weeks, since I've just refamiliarized myself with that component. D8 and/or SSL could be good sprint goals at DC Los Angeles, which is coming up in just a few weeks.
Comment #59
ergonlogicIn preparation for an imminent 7.x-3.0 release, I've closed all issues prior to 2.x. I also started 7.x-4.x branches on all the main projects, and created dev snapshot releases for each. This will allow us to start triaging the remaining issues we want to tackle in the 3.x release cycle, and postpone others for later dev.
Comment #60
helmo CreditAttribution: helmo at Initfour websolutions commentedAs the recent testbot failures have been fixed we should be ready for a new beta release ....
Comment #61
ergonlogic+1 for a new beta.
We should perhaps add getting 'remote_import' added to the distro, as per #2180053: Include more "golden" contrib. This'd provide an alternative upgrade path, that would presumably present less risk.
Comment #62
helmo CreditAttribution: helmo at Initfour websolutions commentedbeta2 released: http://community.aegirproject.org/3.0-beta2
Comment #63
helmo CreditAttribution: helmo at Initfour websolutions commentedTime for a release candidate...?
Comment #64
ergonlogicI haven't had time to add a UI for SSL, but that can wait. I agree that we're pretty much ready for an RC. The remaining critical issues could easily enough be re-classified.
Comment #65
helmo CreditAttribution: helmo at Initfour websolutions commentedFirst release candidate of the 3.x branch is is out, see http://community.aegirproject.org/3.0-rc1
Still have to find time to fix debian packages ...
Comment #66
ergonlogicWe'll be releasing Aegir 3.0 today, at the NYCcamp/AegirSummit sprint.
Comment #67
jwjoshuawalker CreditAttribution: jwjoshuawalker as a volunteer commentedComment #68
ergonlogicAegir 3.0 has now been released.