User:AngelinaBelle/SMF team manual/How to: Difference between revisions From Online Manual

Jump to: navigation, search
(→‎Removing a Team Member: use bullet points to show procedure, remove redundant "pinkie" reference)
(→‎Mentoring a New Team Members[5]: wikified. REmoved "did you know" box (zeal and palinola?))
Line 64: Line 64:


===Mentoring a New Team Members[5]===
===Mentoring a New Team Members[5]===
*Understand the expectations for the position your apprentice is training for
* You may act as a mentor for someone that will be on any part of the SMF team.
*Be prepared to commit to being a mentor for at least 4 weeks [5]
*Maintain one-on-one contact with the new member via email/IM at least four times per week
*You must be able to provide constructive feedback (see notes on communication)
*Remember, as a mentor – you represent the WHOLE TEAM
* You may put your name forward to be a mentor, or someone else on the team may suggest you. Your team leader or another member of the steering committee will give you the go-ahead to act as a mentor.# Review the job descriptions and responsibilities & processes involved in the new member’s position


- Understand the expectations for the position your apprentice is training for
The mentoring process
o You may act as a mentor for someone that will be on another team
# Wait for email/pm from the appropriate team lead, introducing you to the apprentice
- Be prepared to commit to being a mentor for at least 4 weeks
# Confirm that the apprencie has the permissions required for an apprentice
5
# Introduce yourself to the apprentice, pass them the manual and let them know which sections they should pay special attention to
- Maintain one-on-one contact with the new member via email/IM at least four times per
# Remain in instant messenger or email contact – needs will be different, suggested activities are:
week
#* Check in daily, or maintain a presence on instant messenger or chat room, to see how they’re doing
- You must be able to provide constructive feedback (see notes on communication)
#* Share with them personally – get to know them
- Remember, as a mentor – you represent the WHOLE TEAM
#* Look at their recent posts, and give them private feedback or public replies as appropriate.
1. Being shanghaied into being a mentor (putting your name forward, having someone put
#* Introduce them to team members that may share interests
your name forward for you, being selected as the mentor) by the team.
#* Continuously coach them on how to improve their moderation skills (constructive feedback – be careful of how you communicate)
a. Being approved/assigned as the mentor
#* Verify, through conversation, that they understand the way the team works
2. Review the job descriptions and responsibilities & processes involved in the new
#* Verify they understand their role within the team
member’s position
#* Provide feedback & updates to the team
3. Wait for email/pm from the appropriate team lead, introducing you to the apprentice
#* Share the team’s feedback with the apprentice
4. Confirm with Assistant PM that they have provided the necessary access to the  
#* Ask the apprentice if they need help or have new questions (do this often)
moderators boards and rights.
#* Identify when the apprentice is ready to become a team member and let the team know
5. Introduce yourself to the apprentice, pass them the manual and let them know which  
sections to which they should pay special attention (processes and job descriptions of
their team)
6. Remain in instant messenger or email contact – needs will be different, suggested
activities are:
a. Check in daily to see how they’re doing
b. Be online with instant messengers,  chat room and forum
c. Share with them personally – get to know them
d. Actively reply to their posts on the forum (i.e. look at their posts through their
profile)
e. Actively introduce them to team members that may share interests
f. Continuously coach them on how to improve their moderation activities
(constructive feedback – be careful of how you communicate)
g. Verify, through conversation, that they understand the way the team works
h. Verify they understand their role within the team
i. Provide feedback & updates to the team
j. Share the team’s feedback with the apprentice
k. Ask the apprentice if they need help or have new questions (do this often)
l. Identify when the apprentice is ready to become a team member and let the team  
know
 
{{mbox|text=What’s in a Name?
The two Simple Machines
servers are named Zeal
and Palinola. These names
are the originally
suggested names for SMF
when the team was
looking for a new name
for YaBB SE 2.}}


==Participating in Team Meetings==
==Participating in Team Meetings==

Revision as of 16:27, 14 September 2011

Reviewing & Moderating

The moderator serves two roles. The first, and most important, is to keep the discourse at simplemachines.org civil and friendly. The second is to try to keep the forum as enjoyable and helpful as possible. Moderation is not at all like support. When you are moderating, please think like a moderator.

  • Keeping it civil, friendly, and clean
    • If you see a post that clearly needs to be moved, do not hesitate. It can be undone later
    • If you see a post that contains some clearly inappropriate content, make the edit. Inform the user, via PM, if possible.
    • You may use the "warn" feature to deliver a warning, with a clear explanation, to the user.
    • If you see a post that is lowering the "friendliness quotient", please ask the poster to use words that will decrease the tension and increase the level of civility and friendliness.
    • If posters continue to discourse in an unfriendly, un-civil, harrassing, vulgar, or hateful way, you may need to warn them.
    • Moderation concerns can be discussed at the Moderation Concerns boards on the forum.
  • Keeping it helpful and enjoyable (and friendly, civil, and clean, too)
    • If you see a request for support that might be in the wrong board, but is getting helpful community responses, there is no harm in leaving it where it is for a little while. You can always move it later.
    • If you see a request for support that is not getting any response, you can move it. Leave a friendly, even apologetic note "I hope you won't mind that I've moved this post to the Themes and Graphics board. I hope someone there has the answer to your question".
    • Sometimes a support topic goes off-topic. If the original poster is already satisfied with the answer, and a couple of community members hang around to chat, this is OK. As long as the discourse is civil and friendly (see above).
    • Sometimes, a second poster chimes in with exactly the same problem. It might be OK to leave this in the same thread, if the person offering support is offering exactly the same advice to both posters, this actually makes life easier for everyone.
    • Sometimes, a second poster chimes in with a similar problem. It will probably be better to split the topic, with a friendly, even apologetic note. "I hope you won't mind that I have given this issue its own topic at .... I hope this will save confusion and help you get help more quickly."
    • Sometimes, a help-seeker makes two posts on the same problem, in different boards. They might not have been sure where to put the question, or they made a mistake and then could not delete their first post. Merge the two, if possible. Delete one if necessary. Leave a friendly, even apologetic note "I hope you won't mind that I have deleted your other post on the same topic from the xxx board. I think this one is in the right place to get the help you need".
    • If an off-topic chit-chat discussion springs up in the middle of a help topic, you can split it off into an appropriate Chit Chat board. Leave a friendly, even apologetic note to explain the split.
    • Hosting Board
    • Chit Chat
    • Joke Board!
    • News & Politics


  • Reviewing the Help Desk
    • Notes – when reviewing tickets, review oldest first
  • Reviewing the Boards
    • Charter Member Boards
    • Support Boards
    • Notes – when reviewing boards, review oldest first

Support

Only respond to a support question if you have something useful to communicate. Be sure of what you mean to put acrosss, and be sure to communicate it simply and well, and in a civil and friendly manner. Communication is a two-way effort - this means that BOTH the poster and the reader need to make the effort to understand the other's perspective and position. As a reader, it is easy to say "I read things as they're said - it's not my fault they wrote it like a jackass" and as a poster it's easy to say "I'm honest, I'm blunt and I'm sorry if they can't deal with that".

So, before you start typing, think about how all the ways you may have misinterpreted the post you are replying to. And before you hit "submit", think about all the ways your post could be misinterpreted. If you are feeling rushed, anxious, angry, or out-of-sorts, it could be difficult to meet high standards for communicate well and in a friendly way. In this case, take the day off. Come back when you are in a positive and friendly frame of mind.

Team Management

Adding New Team Member

  • Nominate for Apprenticeship. Make a post titled “Nomination for [member name]” Please always create a new topic each new nomination.
  • Discussion. The entire team has a say in who is a potential team member. If you feel this nominee is going to be a productive and valuable member of our team, make a post stating your thoughts. Conversely, if you do not think the nominee will fit into the team, make sure to post the reasons. If you don’t tell us, we won’t know!
  • Approval. Assuming the team agrees that the nominee should become a team member, they will be approved.
  • Mentor is selected. Volunteers to mentor the new apprentice should be posting in the topic. A mentor will be selected from those who volunteer. If no one volunteers, a mentor may be assigned.
    • Even returning team members must go through the mentoring process.
  • Nominate for Invitation -- team members can discuss and then vote to approve the invitation.
  • Invitation is made. A Team Leader, Assistant Project Manager or a Project Manager invites the nominee to become an apprentice
  • They Accept. WHOO HOOO FRESH MEAT!
  • Permissions Assigned. Assistant PM or PM gives the new Apprentice necessary access permissions
  • Credits. Admin/PM must add them to the Team Page

Removing a Team Member

A Team Member who does not continue to be productive will be removed.

  • If you remain inactive for a period ranging between two and four weeks you will be

placed on Hiatus.

  • If you are still on Hiatus at the start of the following month, you may be removed from the team and

given a SMF Friend badge.

If you intend to be absent for a period of time, please inform the rest of the team. You will be given Hiatus status but notifying the team of your absence will prevent you from being removed from the team.

Mentoring a New Team Members[5]

  • Understand the expectations for the position your apprentice is training for
  • You may act as a mentor for someone that will be on any part of the SMF team.
  • Be prepared to commit to being a mentor for at least 4 weeks [5]
  • Maintain one-on-one contact with the new member via email/IM at least four times per week
  • You must be able to provide constructive feedback (see notes on communication)
  • Remember, as a mentor – you represent the WHOLE TEAM
  • You may put your name forward to be a mentor, or someone else on the team may suggest you. Your team leader or another member of the steering committee will give you the go-ahead to act as a mentor.# Review the job descriptions and responsibilities & processes involved in the new member’s position

The mentoring process

  1. Wait for email/pm from the appropriate team lead, introducing you to the apprentice
  2. Confirm that the apprencie has the permissions required for an apprentice
  3. Introduce yourself to the apprentice, pass them the manual and let them know which sections they should pay special attention to
  4. Remain in instant messenger or email contact – needs will be different, suggested activities are:
    • Check in daily, or maintain a presence on instant messenger or chat room, to see how they’re doing
    • Share with them personally – get to know them
    • Look at their recent posts, and give them private feedback or public replies as appropriate.
    • Introduce them to team members that may share interests
    • Continuously coach them on how to improve their moderation skills (constructive feedback – be careful of how you communicate)
    • Verify, through conversation, that they understand the way the team works
    • Verify they understand their role within the team
    • Provide feedback & updates to the team
    • Share the team’s feedback with the apprentice
    • Ask the apprentice if they need help or have new questions (do this often)
    • Identify when the apprentice is ready to become a team member and let the team know

Participating in Team Meetings

Creating new team positions and roles

Development

Checking out from CVS

Tortoise CVS

1. Right click in the folder you want to use as the parent folder. 2. Select "CVS Checkout" 3. Protocol: Secure Shell (:ext:) 4. Server: simplemachines.org 5. Repository folder: /home/cvs 6. User name: Your user name will be supplied to you and will be specific to you 7. Module: smf 8. If you are checking out a branch other then the MAIN branch choose the "Revision" tab, "Choose branch or tag" and select the branch or tag. Note that you may have to choose "Update list" in order for anything to show. 9. Finally you can select a different folder name by choosing the "Options" tab and choosing "Enter your own folder name"

Logging into CVS

Whenever you perform an action with the CVS you'll need to log in. Your user name was specified when you checked out the module so you'll only need to supply the password. After selecting an action tortoise will popup and ask you for your password, simply type it in and submit.

Checking into CVS

Tortoise CVS

1. Select the files or root directory you wish to commit. I. You can select individual files (and directories) you wish to commit II. Alternatively you can also just right click on an open area and the current directory will be selected 2. A window will pop up, in it fill out the commit message. Also in the lower half of the window confirm the files you are committing. You can uncheck the files to keep them from being committed. 3. After submitting you will need to log into CVS as detailed above.


Releasing a new version of SMF

1. Create an announcement and attach the patch files and the changed files (if applicable). 2. Upload the upgrade patch (used by the package manager to upgrade) to public_html/mods/downloads. 3. Change the upgrade.php and smf_xxxx.sql to contain the latest version numbers and commit both. 4. Tag the release in the CVS (please be consistent in the formatting of the version regarding the use of dashes, underscores and lowercase). 5. Generate the new version by executing http://dev.simplemachines.org/cvs/generate_build.php?release=1-0-9. 6. Move the generated packages to the \public_html\downloads directory. 7. Move and extract the english pack to the language CVS. 8. Synchronize all language packs by using the language_megasync.php tool (use 'based on <previous_version>' and check all languages in the <new_version> column. Note that UTF-8 versions are not needed for the 1.0 branch, except the chinese language). 9. Add and commit the new language directories to the CVS. 10. Create language packs for the new versions using the language_megapak tool. 11. Add the newly generated build to the download page using the admin tool. 12. Update all .js files in public_html/smf but don't upload them (yet). 13. Execute the following queries in the downloads database to show the new downloads (assuming you would want the same descriptions):

 
/*
For instance use the following replacements for version 1.0.9:
<old_version> -> 1-0-8
<new_version> -> 1-0-9
<older_version_human_readable> -> 1.0.7
<old_version_human_readable> -> 1.0.8
<new_version_human_readable> -> 1.0.9
Add the new packages to the download page.
*/
INSERT INTO download_packages (filename, realName, types, access, downloads,
release_type, description)
SELECT 
REPLACE(filename, '<old_version>', '<new_version>'),
REPLACE(REPLACE(realname, '<old_version_human_readable>', 
'<new_version_human_readable>'), '<old_version>', '<new_version>'),
types, access,
0,
release_type,
REPLACE(REPLACE(REPLACE(description, '<old_version_human_readable>', 
'<new_version_human_readable>'), '<old_version>', '<new_version>'),
'<older_version_human_readable>', '<old_version_human_readable>')
FROM download_packages
WHERE release_type IN (0, 1)
AND filename LIKE 'smf\_<old_version>%'
/*
Move the old packages to the archive.
*/
UPDATE download_packages
SET release_type = 2
WHERE release_type IN (0, 1)
AND filename LIKE 'smf\_<old_version>%'

15. After executing these queries, check if the descriptions of the newly added rows are correct. Make sure that if languages haven't been translated to the new version, you need to update the 'percentage translated' in the description. 16. Go to the download page to check if all files are there (there should be error messages if they are not). 17. Move the announcement to the announcement board and sticky it. 18. Upload the above adjusted .js files. 19. Add a version to the customize.smfVersions table (public=1) and set the previous version to obsolete. 20. Add the new version number to public_html\community\Themes\newsite\Post.template.php. 21. Check the admin screen of a not-yet-upgraded SMF if it clearly states to upgrade that version and test the upgrade (also check if it stops stating you should upgrade). 22. Send a notification of the announcement to everyone. 23. Update the news message in SMF's admin panel. 24. Hang around a while to see if people encounter problems with the upgrade. 25. Upgrade the different SMF versions on the simplemachines.org server 26. Update the language database to copy all functions from the previous version to the new version. Suggested queries for the 'functions' database:

 
/*
These queries will copy functions and files from old_version to new_version.
Look up the ID's from the customize.versions table.
*/
UPDATE files
SET versions = CONCAT(versions, ',<new_version_id>')
WHERE FIND_IN_SET('<old_version_id>', versions)
AND NOT FIND_IN_SET('<new_version_id>', versions);
UPDATE functions
SET versions = CONCAT(versions, ',<new_version_id>')
WHERE FIND_IN_SET('<old_version_id>', versions)
AND NOT FIND_IN_SET('<new_version_id>', versions);

Submitting a Bug

  1. Go to the bug tracker, http://dev.simplemachines.org/mantis/
  2. Click on Report Issue
  3. If you have not selected a project you will be prompted to select one
  4. Fill out the form, paying special attention to the “Summary” and “Description” The description should give as much details as possible. Include things such as how to reproduce the bug and if using a CVS version what day’s CVS it is. If you are reporting the bug on behalf of a forum member, make sure to link the topic(s) concerning that bug.
  5. After submitting the bug make sure to review it and make any corrections.

Reviewing Bugs

  • Review unassigned bugs and assign them to yourself or the appropriate person. For

example, in source documentation would be assigned to the Doc Coordinator, or if a particular developer handles a certain aspect of the software.

  • After the bug has been fixed in the source and committed to the CVS, open the bug and

under the "Change status to" button select "resolved" in the drop down menu and click the button. You'll then be taken to a page where you can add an optional comment. Paste in the changelog message into the comment field and add any other comment you need to make.

Dealing with Feature Requests

There is a board called "Feature Requests" in which forum members may post their suggestions and ideas for new standard features. These should be reviewed and any requests that seem good should be brought to the attention of the team for discussion.

Site Management

  • Updating/Upgrading the SimpleMachines.org
  • Posting News & Announcements
  • Performing a Backup of the Site
  • Banning a User
  • Unbanning a User
  • Managing Permissions
  • Signing on New Advertisers
  • Updating the Online Manual
  • Dealing with Server Downtime
  • Posting to the Blog

Mundane Administration

  • Answering General Emails
  • Password Tracking
  • Withdrawing Funds from PayPal
  • Updating this Document
  • Filing a Suggestion or Complaint
  • Dealing with Special Cases
  • Nominating Simple Machines for Awards
  • Changing Passwords
  • Preparing a Press Release
  • Approving & Reviewing Redistributors

Legal Issues

Identifying License Infringement Dealing with License Infringement Filing Taxes Adding/Removing an LLC Partner



5 This is a guesstimate of the length of a mentorship, and may be subject to change in the future


Advertisement: