User:AngelinaBelle/SMF team manual/How to

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

Reviewing & Moderating
Making moderator decisions If you see a post that you feel is inappropriate or needs to be moved, do not hesitate to do the task. It can always be undone. Moderating Boards/Posts 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

Responding to Questions/Posts
1) 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". Sorry - but in this family, that just doesn't cut it. Make the effort to think about how your posts may be misinterpreted (they will be) and think about how you may be misinterpreting a post (you will) before you reply.

Adding New Team Member
- Nominate. 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. Please note, if no one volunteers, a mentor position may be assigned. - 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 - Note – even returning team members must go through the mentoring process.

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 reduced to a ‘pinkie’ (be placed on Hiatus) and 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 the on 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 o You may act as a mentor for someone that will be on another 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 1. Being shanghaied into being a mentor (putting your name forward, having someone put your name forward for you, being selected as the mentor) by the team. a. Being approved/assigned as the mentor 2. Review the job descriptions and responsibilities & processes involved in the new member’s position 3. Wait for email/pm from the appropriate team lead, introducing you to the apprentice 4. Confirm with Assistant PM that they have provided the necessary access to the moderators boards and rights. 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

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.

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 ' and check all languages in the  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:  -> 1-0-8  -> 1-0-9  -> 1.0.7  -> 1.0.8  -> 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, '', ''), REPLACE(REPLACE(realname, '', ''), '', ''), types, access, 0, release_type, REPLACE(REPLACE(REPLACE(description, '', ''), '', '<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 I. 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. 4. 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

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