LDSTECH Logo The Church of Jesus Christ of Latter-day Saints
LDSTech Contribute Self Support Forum Wiki Jira Projects

YSA Project getting started

YSA Project Index edit

This section contains information that may be out-of-date due to later decisions or developments.
This project is no longer an active community project.

More info will be available when church employees have found a new way for the community to be involved.

Contents

Setup

For everyone

  1. Get a JIRA account (Required)
    • Don't forget to learn how to use JIRA.
  2. Get on the Mailing List (optional)
  3. Follow us on Facebook or Twitter (optional)
  4. Contribute! (Thanks!)

For developers

  1. Make sure you can access our SVN repo.
  2. Pick an issue from JIRA (or create your own)
  3. Familiarize yourself with the APIs that you will be working with on that issue. Some good places to start might include:
    1. YSA Project architecture
    2. Social Media (The YSA Project social media integration page details how we're using social media, and what APIs we're using.)
    3. Community Services
  4. "Put your shoulder to the wheel", and Contribute! (Thanks!)

The Church YSA Community Project is intended to be something you can check out and install on your own machine while you develop it.

This section contains information that may be out-of-date due to later decisions or developments.
We may not use WordPress anymore

The site is written on the WordPress (WP) Platform in PHP with a MySQL database store. In addition, you will need to set up a test Facebook application that your install of the YSA codebase will interact with. This codebase can work on multiple platforms, but ultimately it will be tested on a Linux server. You can install your version of the project on your own machine, or, ideally you may want to install this on a Linux server somewhere that you have access to.

Code Setup

Mac

Use the terminal app (under "Utilities" under your Finder) to run the commands listed below.

Step Commands / Code Explanation
1 cd [path to directory] Find a directory on your computer to store the source code.
2 mkdir lds-ysa

cd lds-ysa

So that you are in the lds-ysa directory on your hard drive.
3 touch error_log

touch access_log

This will create log files for your installation to write to so you can debug properly.
4 svn co https://dev.lds.org/svn/ysa/branches/ysa-sofea/web/src/main/webapp/ To download the code
5 Set up the webserver (see below)
5-a Click the apple in the upper-left, select "System Preferences", then select "Sharing" This starts your webserver.
5-b Check the box next to "Web Sharing" if it is unchecked
5-c httpd -V | grep 'SERVER_CONFIG_FILE' pay attention to the file listed (should be something like /private/etc/apache2)
5-d whoami this should tell you your username
5-e If the path is /private/etc/apache2 and you use vi, and your username is jesse:

vi /private/etc/apache2/users/jesse.conf

edit the path to the file listed above, followed by "users/yourusername.conf".
5-f Make sure this code is in that file.
<Directory "/Users/jesse/Sites/">
   Options Indexes MultiViews
   AllowOverride All
   Order allow,deny
   Allow from all
</Directory>
It's important to note the "AllowOverride All" and "Allow from all".

You'll want to replace "jesse" with your own username.

5-g Go back to the Sharing preferences you were at above, and un-check "Web Sharing", then re-check it. This restarts your webserver.
5-h Go to: http://localhost/yourusername/lds-ysa/webapp The new site should show up!

Note on Step 5-f

I checked out at a higher level in the repository tree. My webapp was at ~/Dev/Church/ysa/branches/ysa-sofea/web/src/main/webapp. My conf file looks like this:

Alias /ysa/ "/Users/jimt2000/Dev/Church/ysa/branches/ysa-sofea/web/src/main/webapp/"
 
<Directory "/Users/jimt2000/Dev/Church/ysa/branches/ysa-sofea/web/src/main/webapp/">
   Options Indexes MultiViews
   AllowOverride None
   Order allow,deny
   Allow from all
</Directory>

The Alias line gives me a shorter url to work with.

With "AllowOverride All" I got unauthorized access for http://localhost/ysa. I changed it to "AllowOverride None" and it worked. I guess I'll see if it keeps working.

PC

To Do: If someone has a PC, please document the process of getting set up on your local machine on a Windows machine here

Tools

Some of this info comes from the Community Projects Page.

Project Development URLS

Project YSA Project
JIRA https://tech.lds.org/jira/browse/YSA
Mailing List http://groups.google.com/group/ysa-community-dev/

ysa-community-dev@googlegroups.com

Subversion (aka SVN) https://dev.lds.org/svn/ysa
Complete WP Install (in SVN) https://dev.lds.org/svn/ysa/trunk/
ldsYSA WP Theme (in SVN) https://dev.lds.org/svn/ysa/trunk/wp-content/themes/ldsYSA/
Live Demos https://tech.lds.org/ysa

http://ldsysa.staynalive.com

These are some pages you can follow to see what's going on.

Facebook

Twitter

JIRA

We use JIRA to manage all of the Issues (Bugs, Feature Requests, Tasks, etc) related to our project.

In general, pick an issue, fix it, and mark it as "solved". We might create something formal about QA "closing" the issue, but there aren't any official policies right now.

Get an account

To start off, make sure that you:

  1. Have a JIRA account
  2. Can access JIRA for the YSA Project

If you don't have a JIRA account yet,

To Do: Write instructions on how to get a JIRA account

Learn to use JIRA

To learn about how to use JIRA, check out the Community Quality Assurance page, especially the following sections:

Subversion

To start, you will need to check out the Subversion repository code for this project. You will need to install Subversion on your machine. Once it is installed, run the following in the directory you want to install the codebase:

svn co https://dev.lds.org/svn/ysa

We are using WordPress as the base for this, if you checkout https://dev.lds.org/svn/ysa/trunk/ you'll get an entire WP install. If you already have a WP install that you want to use for dev work you can check out just the theme at https://dev.lds.org/svn/ysa/trunk/wp-content/themes/ldsYSA/

The theme is going through some big moves right now to incorporate the new LDS site design (Ryan is doing some great work to make this happen!).

Mailing list

We use a private group in Google Groups for our mailing list. You need to request access to be included.

Once you're on the list, introduce yourself to everyone on the email group, tell a little about yourself and what areas you'd like to help out on (design, code, QA, etc.).

Social media

Social Media plays an important part of the YSA Project. We will start with Facebook and Twitter integration and branch off from there.

Check out our YSA Project architecture page and YSA Project social media integration page to find out more about how this is working out.

  1. Facebook - Users will be able to integrate their profile with their facebook account
  2. Twitter - Users will be able to integrate their profile with their twitter account
  3. Gravatar - We won't want to store their profile photo within our system, so it would be great to use a service like gravatar for storing images.

Community Services

Though we aren't using all of these right now, the following Community Services (aka Web Services) will probably be used in the YSA Project:

  • Single Sign On (Check out the SSO Category)
    • LDS Account This is the authoritative source for user authentication for church systems. Users will need to have an LDS Account to have a YSA profile or connect their profile with social networking tools. It is used in production for authentication of:
      • LDS Church Workforce
      • Members
      • Non-Members
  • MLU - Membership, Leadership & Unit data (SOAP) This will be used to determine who the area leadership, stake leadership. It will also be used to search for users who will become 'delegates', or people who can post events and causes.
  • CDOL - Church Directory of Organizations and Leaders
  • GIS - Mapping (meetinghouses, church facilities) (SOAP)
  • Calendar - Unit Calendar (REST, JSON)
  • Directory - Unit Directory, Family & Individual Profiles (REST, JSON) - We may want to use the directory to get profile photo information.
This page was last modified on 3 July 2011, at 22:25. This page has been accessed 3,050 times.