COD D7 Port Code Sprint Preparation
The COD D7 Code Sprint is over, and significant highlights are reported below.
Table Of Contents
- Original Introduction
- Leadership Preparation List
- Porting Possible Task List
- COD D7 Alpha Release Requirements
- Possible D7 alpha live implementations
- COD D7 "PlaceHolder" Speed Up To Alpha Release Proposal
- COD D7 "Commerce" Direction Research
- Replace "View Send" with Rules to send out emails
- Enhance and update the D7 COD Support Module Readme File
- D6 to D7 COD Support Module Dependency Mapping and Roadblocks See attachment.
- COD Support Issue Queue Patch 12 Status
- COD D6 to D7 Feature Status Table
- Sprinter Preparation List
Useful to COD Sprint planners telling that attendees should do ahead of time. Needs updating/merging with Christefano's sandbox URL and steps.
This section will be updated and merged into the COD D6 to D7 Feature Status Table by adding additional rows, in priority order. This should be complete by October 20, 2011.
The below sections are 2-5 paragraphs each.
The below table is key summary of COD Feature Modules and the order they must be ported in.
The Table rows are in Priorities for future COD Code Sprints to benefit from in picking what tasks to attempt first. As of 2011/10/11 there are still updates from the LA Weekend Sprint to be added into table, i.e. dependencies and issue queues items from COD Support and COD D7.
- Git Access to drupal.org/project/TBD
[Note: The original pre-meeting Wiki Introduction is included for historical reasons, as well as "instructions" for attendees going to future COD Sprints. This section will be rewritten and merged into the "prep" section.]
October 8&9, 2011 Announcement: http://groups.drupal.org/la/cod-d7-sprint
The primary purpose of this wiki is to list the needed advanced preparations for before the Code Sprint, after the Code Sprint, for both the leaders to prepare and follow, and for Sprinters to follow to prepare their computer for the Sprint.
The hope is everyone comes with their laptop loaded with a complete COD 6/7 environment, ready to select a sub project, and start making code changes in the first hour of the sprint. This would avoid the first hour or two having the experts step through preparing this environment.
This wiki will grow over the next few weeks, so subscribe or check back, as the needed preparation work to get Code Sprint attendees, both at the Sprint venue and remote, up to speed, for the big event.
It's noted we are joining an existing effort and some (much?) D7 porting work has already been done. So, this preparation page will list the resources documented by that effort, to be read, sometimes instructions followed, to come up to speed on that existing effort, and join it.
This page lists the stuff the Code Sprint leaders need to prepare, and post either here, or elsewhere (and be linked to from here).
Be there or be a cod. Don't be the cod. -- anonymous quote
Leadership Preparation List
The below quick list from my notes last night will be expanded upon over the coming weeks.
EVERYONE should edit this wiki to expand the needed sections. Please.
- Write Post for front page of GDO/DO - Optional
Announce Code Sprint dates, times, location in a variety of places.
- Post announcement on your G.D.O web section
- Email to your group's mailing lists including a link to the above.
- Post on any custom web site, and member web sites, and blog about it.
- Post to #drupal-cod as you enter the planning stage, your announcement, and any changes
- Christefano has set a git.D.O. sandbox with D7 with many modules. USE IT!!! Why? It will include all LA Code Sprint patches, a good jumping off point. The git clone command will setup sprinter's dev environment within a minute.
- Differences between DrupalCampLA distribution and COD6/7 to port
- Drag and Drop Scheduler desired for SCALE D7 Web Site (January 2012 Conference) and future DrupalCampLA.com
- It must interface with existing Room and Session Types.
- It uses a view grid
- URL for great page http://groups.drupal.org/node/138619
- Ezra last updated this page on 9/25/2011, 3 days ago.
- Ezra wants to prioritize the items (50-100 or more) on this page before our code sprint.
- List of Modules to port - see the pending Erza prioritization - could we do this ourselves?
List of COD6 features to port to COD7
- Ezra mentioned on #drupal-cod:
- Signup and Commerce-signup are crucial sub projects, and a large task.
- http://drupal.org/node/1285384 - Entity based registration module for Drupal 7
- Signup module is getting old, not updated for some time, perhaps use the above new module is implied to be reviewed, and commented on.
- Updating views_send - details not chatted about - http://drupal.org/project/views_send
ColinWood07 has suggested the below list of "great" features... at this comment
http://groups.drupal.org/la/cod-d7-sprint#comment-594354, which strangely I got in an email, but has not appeared on G.D.O. yet.
Getting a 'status' of each of these in D7, and if someone is currently coding it, so we could assist them, instead of duplicate effort, would be swell.
I've added sub feature design issues to start off any prioritization for our 2 day code sprint.
Everyone's feedback would be greatly appreciated.
- Session submission, voting and moderation
- Voting needs definition, as I have heard at least 3 vastly different voting purposes. All of them have very valid reasons to exist, and can greatly assist in their distinctly separate purpose.
- Vote for sessions you would 'like' attend, voting for many, more than you could possibly attend. This vote type assists in room size scheduling, a key factor for ease of administration.
- This method is what DrupalCampLA.com does.
- As we do like this method here in LA, chances are high, existing code could be ported to COD 7.
- Vote for only the sessions you will attend.
- See the numbered bullet point entitled "Personalized attendee schedules" below.
- One way to implement this method is to make it available only after room scheduling. This method is what is commonly expected.
- Another way this method can be done is both before and after rooms are scheduled. Scheduling conflicts will result in vote changes, so editing this vote type must be supported.
- Vote for sessions to be accepted into the conference.
- This method is not commonly expected by the Drupal community.
- This method allows the conference leaders to easily accept/add proposed sessions and promote them from private viewing to the public view.
- The risk of configuration confusion is high.
- The risk of having two concurrent voting methods causing end user confusion is high.
- Designing to handle these risk, via wise documentation wording, and skillful layout and graphics would be fanastic to see achieved.
- The time frame for doing so is likely many hours, 6-8 hours of design, followed by 10-16 hours of implementation.
- I'm thinking a 2 day spring might start such a project.
- I'm thinking doing so at our code sprint will take experts away from higher priorities.
- I'm thinking this type of difficulty level is what I like doing, and pulling off.
- As the proof of concept is the hard part, being the UI design, doing a wireframe first, before spending time in any other implementation aspect, would be crucial to community acceptance, and 'high' user friendliness of the public interface. The private admin interface would be the second wireframe to be done, for final community acceptance, before I'd cut any code lines.
- Session schedule grid
- See Drag and Drop Scheduler above.
- I would have thought COD 7 has this feature almost completed. If not, then it's a high priority.
- Personalized attendee schedules
- Should be suitable for printing on one page.
- Should support handheld display, with automatic day and hour update - scroll to next session position, or just list those sessions coming up next, allowing for rest of day view, or full view.
- Easy event registration and attendee management
- See Sign Up above.
- I would have thought COD 7 has this feature almost completed. If not, then it's the top priority.
- Community features (forums, friending, etc.)
- Everyone, please expand each of these.
- Indicate which ones exist in COD 6, and voice your priority for porting.
- Are forums handled by core already?
- Is friending a feature that attendees will use, given the nature of leaving a trail of yearly 'friends', or that have to be re-entered each year? Just how would this feature work?
- "etc" - Is that fair to comment with? (-;
- ... add more above here...
- Easy sponsors management
- What features does this need?
- ... add more above here...
- ... Add your suggestions above this list item, now please!
- List of Modules to port - see the pending Ezra prioritization - could we do this ourselves?
- Look at COD 7 Issue Queue
- Ezra's thinking of doing a review before our sprint. (See #drupal-cod 9/28/2011 12 noon PST)
Do we need to do our own Issue Queue Review? See below for a beginning.
I listed the Feature upgrades separately as they are likely easier for novices to do.
- There are 13 non Feature Issues at the Issue Queue
- 1 needs work
- session highlighting on schedule pages using jquery - assigned brentratliff
- 5 are active
- 5 are postponed
- Upgrade Features to D7 - Below is the list of COD D6 Features (From Issue Queue)
- We need priority and difficulty level.
- Needs review
- cod_base - assigned to sirkitree
- cod_community - assigned to sirkitree
- Needs work
- cod_events - 8 weeks ago
- cod_session - 4 weeks ago - assigned to sirkitree
- cod_frontpage - assigned to Senpai
Second Great URL for how to prepare your dev environment (may be outdated)
- Our Wiki COD7 Link Lists: http://groups.drupal.org/node/154494#comment-573284
- Create How To ssh-keygen and upload to D.O. for git access - Mostly done below (not tested).
Supporting 2 or more voting methods is possible.
At the end of Saturday's sprint a discussion was started about finishing the Base Feature Port and declaring it the Alpha Release. This was declared not wise, as more than the Base Feature would be needed, to avoid the Alpha Release getting a bad reputation for not being ready for upgrading existing COD D6 sites to. So, the conclusion was to figure out which modules would be firmly required for a D7 Alpha.
Why have an Alpha release "sooner?" There is a feeling that such an announcement might/would spur more Drupalers completing the remaining porting tasks. So, it was judged an important task this Code Sprint should wrap up with is a recommendation for review by the COD developing community members of what should be in our first Alpha Release. This list would consist of two lists, a firm list and soft list. Expectations are by the end of October 2011 the COD development community would finalize the two lists, and declare when the Firm List is completed, the Alpha Release would be prepared containing as many Soft List items that have also made it through the Issue Queue review process and have been committed. A worthy goal to shoot for.
There was mention of a 'political' decision to get an Alpha Release even sooner, if there would be little backlash, and porting of remaining tasks would get more active eyeballs doing them. This idea is included for low priority discussion, after the Firm and Soft Requirement List are published.
There are big conferences coming up in or near Los Angeles, that this Sprint's attendees will be at, and might assist installing COD D7.
- San Diego SandCamp - January 2012
- Drupal For Design LA - February 2012
- Denver DrupalCon - March 2012
Upon removing the COD commerce module dependencies (Ubercart), what would go in place of the blocks that had content coming from the Ubercart dependency? Our thought was a static placeholder.
The concept of "Default Placeholder Content" came up and might be outside the scope of our Code Sprint, or the Alpha (or Beta) release, but is worthy of some discussion. The idea came from the Sponsor Block. If we can not put dynamic content from other modules in place, then using an installation default static content would be possible. Having "installation default static placeholder content" was declared a solid direction.
For example, free or paid conferences seeking Sponsors would do well to have on the default installed Front Page, a Sponsor Block (already there) that has a 'static' solicitation for Sponsors, with a link to the web Contact Form. Why do this?
The Ubercart/commerce discussion continues throughout our Code Camp as a Big RoadBlock. Why? Many COD D6 Features depend upon Ubercart. A free conference would not need any Ubercart. Having such dependencies blocking the porting to D7 of even a few COD Features would delay any Alpha Release.
The amount of work to
- finish the Ubercart Port to D7, or
- change over to the module 'commerce', or
- create a commerce API Layer that supports Ubercart, commerce, or other 'stuff', or
- remove the dependency,
is likely the same?
Or would removing the current Features' commerce dependencies to Ubercart be easy, fast, and a service to a great many conferences, sooner, not later? Your feedback is needed.
A preference coming out of this LA Code Sprint is if we get a Feature working with a "placeholder", default content in place of a dependency on a big module like UberCart, then we here in LA would be happy. Why? The upcoming DDCLA conferences could use COD D7 Alpha. This reason is the original Christefano reason for the LA Code Sprint.
This section repeats a post to the IRC Chat yesterday.
- Review Ubercart inside COD and effort level to replace it with commerce.
- Be able to turn off any and all any type of commerce/Ubercart dependency
- Move all Ubercart/commerce features into one module that can be turned off
- Rip out Base and Events
- Events change to Event Sales or Store Sales (for tshirts, etc)
- make COD Commerce Feature
This section repeats a post to the IRC Chat yesterday.
View Send change to operations with Rules send out same set of emails.
vmi (Ali) and bvirtual (Peter Benjamin) are writing description paragraphs per COD Feature. There is the existing brief one liner, then a set of paragraphs. Christefano has insisted we adhere to the current Drupal readme syntax conventions, and we will. This work is available via Etherpad at http://willyou.typewith.me/p/COD This Etherpad also contains a second part, which will be removed to finalize the new COD Support Module Readme file. This second part is described in the next Wiki Section.
vmi (Ali) and bvirtual (Peter Benjamin) are create a complete D7 dependency map to itemize Roadblocks in porting each individual COD Features. These Roadblocks means there is a distinct porting order for COD Features based upon doing the underlying COD Feature and contrib module dependencies first..
See attachment of file name COD.Support.Readme.Draft.With.D6.to.D7.Dependency.Map.draft.txt Please suggest your edits to this file. It needs a lot of loving help to get to the place where it can assist with new COD sprinters. I will be updating the D6 to D7 and adding Sprint supporting info to be included in the big table below through October, 2011.
A "mapping" from D6 to D7 modules is being created. The justification is this Code Sprint found the lack of this information prevented new sprinters from coming up to speed within hours, instead it took the two days for new sprinters to grok the COD development environment, and process of comparing COD6 functionality to COD7 lack of functionality to uncover porting task.
The mapping includes D6 modules merged into D7 core are no longer dependencies, where a D6 module was renamed in D7, and when a D6 module is being replaced with another D7 module. This is necessary to know what 'new' D7 modules are needed to be installed and enabled and configured in order for a COD Feature to be examined for lack of functionality.
This work is available via Etherpad at http://willyou.typewith.me/p/COD This Etherpad also contains a second part, which will become the new COD Support Module Readme file. This second part is described in the above Wiki Section.
Ron Golan examined Base Patch 12. This section is my write up on his verbal report, and is not complete. Ron hopes to do more on this as he sees why the theming is not occurring and a fix, which maybe a callback (I've not looked to see for myself, so sorry for the vague or incorrect wording.)
[I will fix the below paragraphs in the next day or two. It's just my raw typing as Ron was describing the problem.]
Can not see user field until session created.
Base Patch 12 will format an user first and last name. Shows up when user is in a session.
Replaces the Session's Speaker name field from user name to First and Last name in Session.
Modules to add for COD 7 references, field groups, and field permissions.
Is the plan for Patch 12 to replace most or all userids with first and last name?
Is this theming function only for Speaker names? WIll it map Sponsor related staff userids to their names? Or will it handle other name purposes? Like attendee, Sponsor, Organizer,
This table will provide for the coming months of the porting effort a place for new sprinters to find where they might contribute according to their skill and knowledge level. Please add to this table as you know it needs it. Using this table in future code sprints will speed up the task selection process, thus more time will be spent on porting activities, and not repeating this infrastructure set up, is the hope.
We'd like someone to list the Feature Dependencies, as it will assist in Prioritizing.
We hope to see added to the Prioritized List two Issue Queues and contrib modules based upon the dependency tree. The COD Support Issue Queue and the COD D7 Port Issue Queue are mandatory additions. The module list created by Ezra is a good first cut.
Prioritizing includes criteria as follows (and we welcome more):
- An Alpha Release would be well received with the Feature. Let me say this another way, an Alpha without the feature would be a disaster.
- The Feature Dependency Tree would prioritize a COD Feature before a Feature that depends on it. The same is true of contrib modules.
- What is a Drupal Conference about (Community, BoF, Events, News). Yes, it's Drupal centric. I'm fine with that. For 2011.
- Easier ports are getting a higher priority over hard ports.
|Feature||Priority||Difficulty||Order||Dependencies||Estimated Skill Set||Issue Queue Status||Stuff To Install||Notes|
|core and contribs: Ubercart for Ubercart Orders, Strongarm, Views, Profile, and more, to be listed. All contribs are ported.||patch reviewer||Needs Review||Patch Exists - most are committed to COD D7 Support - so install it in D7||Some conferences are free. Is it wise to have Base depend upon Ubercart? Remove Ubercart dependency? Comments?|
|IMPORTANT: Since the Base Feature D7 patch (in the git repo) needs to be working first as it's a dependency of other COD Features, and without Base working, these Features can not easily be worked on.|
|Base, Lots of Contribs||Coding and Feature Building||Needs Review - Assigned to sirkitree -1150334||Patch exists||COD Alpha Release will have Sessions.|
|Front Page||High||Easy once dependencies ported||3 - Third||Sponsors, News, Sessions||Feature Building||Assigned To Joel|
|-||Minimal Code - Feature Building||Active, assigned to Tommy, Ron, Oliver (otself)||-||Postponed, pending Base completion due to Base dependency|
|Feature||Priority||Difficulty||Order||Dependencies||Estimated Skill Set||Issue Queue Status||Stuff To Install||Notes|
|-||Larger Patch so more code to review||Needs Review||Patch Exists so install it in D7|
|Events||Low - Not Required||High||6
|Relies on Code outside of COD Support||Patches for Contrib and Feature Building||no issues/no status||Lots of Contribs|
|BoF Sessions / COD_BoF||Low||Easy||7
|Content Types||Feature Builder - GUI Click/Drag||None||Hand build content types (?)|
|Ubercart||Ubercart/commerce porting changes||none||Ubercart, commerce / rules||Notes|
|Session Video||Low||High / Easy||9
|EMField - Aaron is porting and needs some assistance||Hard: Coding EMField
Easy: then Feature Building
|Active||EMField D7 Module||Pending port of EMField|
Get www.drupal.org git access - Read how in this wiki - Find links to web pages that explain this in depth, instead of writing your own. Or write your own. Show your chops!
To our Monday Meetings arrive 15 minutes early to do git and dev environment prep for several sessions. Please create a section below that itemizes the steps done in these minutes per laptop. It can be a list of one liners. Others can expand each item into a paragraph, and even a whole page with step by step and screen shots, or even a screencast. Point is, do a little here, please. Thanks.
Visit http://usecod.com/roadmap - This site is small, and supports mostly COD D6. This Roadmap page is one of a few here that support D7. Please create a section below that lists the resources we might use from this site.
Future Sections to appear here
Sprinter Preparation List
Git Access to upload module code to Drupal.org/project/*
Git access public key is generated with it's pair, the private key. These are both stored in separate files, following the ssh naming conventions. Do not tell your private key to anyone. Give your public key to anyone, as it's safe to do. Cool encryption idea!
Do the below key generation on a private machine, you know is secure, and likely where you plan on storing your private key.
Below works on Unix/Linux and Mac OSX. (not tested - add your corrections - add GUIs that do this for you.) YMMV on Windows.
cp id_dsa id_dsa.save
cp id_dsa.pub id_dsa.pub.save
ssh-keygen -t dsa -C "YOUR_USERID@YOUR_EMAIL_DOMAIN.com"
mv id_dsa id_dsa.drupal.git.access
mv id_dsa.pub id_dsa.drupal.git.access.pub
cp id_dsa.save id_dsa
cp id_dsa.save.pub id_dsa.pub
and copy and paste that value into
where ### is replaced with your D.O. user id number.
Be there or sleep with the fishes. -- anonymous quote