Ward Photo Directory Template

So you have the BIG idea that the Church or community needs to develop. Discuss that idea here. Maybe you just want to make a suggestion on a new forum topic. Let us know.
User avatar
thedqs
Community Moderators
Posts: 1042
Joined: Wed Jan 24, 2007 8:53 am
Location: Redmond, WA
Contact:

#31

Post by thedqs »

The program doesn't really need to understand the symantics since the column names are delimited anyway. The string that is read might be "name1,name2,name3,name4" which it just divides them up based on the , and sees that we have 4 columns. So the entire program divides it up into 4 columns. Now your program could ask the user for a mapping or it could try to map by itself and if it cannot figure it out, ask the user.

Anyway your way also works great. The only forseable problem is when they start adding new info to the cvs, multiple phones, maybe birthdays, multiple e-mail address, etc.

So I leave it in the hands of the LUWS team, they have some great suggestions.
- David
User avatar
epoulin-p40
New Member
Posts: 22
Joined: Tue Jan 30, 2007 8:28 am
Location: Bowmanville, Ontario, Canada
Contact:

Delimiting

#32

Post by epoulin-p40 »

thedqs wrote:The program doesn't really need to understand the symantics since the column names are delimited anyway. The string that is read might be "name1,name2,name3,name4" which it just divides them up based on the , and sees that we have 4 columns. So the entire program divides it up into 4 columns. Now your program could ask the user for a mapping or it could try to map by itself and if it cannot figure it out, ask the user.

Anyway your way also works great. The only forseable problem is when they start adding new info to the cvs, multiple phones, maybe birthdays, multiple e-mail address, etc.

So I leave it in the hands of the LUWS team, they have some great suggestions.
1 last comment on this thread :)
As new info is added, this should for sure go into new columns. My only concern was if you are using 1 row of data to represent more than 1 person, such as a family. There are a few options.
  1. Have each row represent only 1 individual. Introduce a family_id number to tie families together.
  2. Have each row represent a family, and each column represents a logical piece of data (name, phone, birthday, email) and for any given column if there is an entry for more than one person, they go into a delimited string. So when loaded into consuming code, personA's data is always in array element [0], personB is [1], such as personAEmail = email[0], personBEmail=email[1]. Working with arrays is very clean. Even if 1 person has more than one email, sub-delimiting is common, then we have arrays of arrays.
  3. Your suggestion of having variable column counts.
As you say, we leave it to the team now to take our suggestions.
Eric Poulin
Bowmanville, Ontario, Canada
blackrg
Member
Posts: 75
Joined: Mon Feb 12, 2007 1:31 pm
Location: Utah

#33

Post by blackrg »

Variable field counts isn't an issue as long as you're _VERY_ strict about your field naming. I'd actually prefer variable field counts to having to parse the contents of an individual field. Parsing a field inside of a field is something I would find more cumbersome that dealing with variable field counts.

With variable field counts you deal with it once right up front and then suck in your data. If you have to parse the fields themselves, you have to deal with it every single time. It also makes sorting/handling that data very awkward. Anything dealing with that field will have to parse it first and the fields inside of the field can't be easily selected, ignored, sorted, etc. up front without making a pass through to break it all back out into what is effectively first level fields and then working with the data.
jworkin-p40
New Member
Posts: 16
Joined: Tue May 08, 2007 1:34 pm

Thanks jmgalloway

#34

Post by jworkin-p40 »

jmgalloway wrote: I have the source code, and the install files for it zipped up if anyone wants to look at it. I also have an example set of files in the zip, please excuse the silly photos used in the example. :)

here is the link directly:
http://users.telenet.be/galloway/Download/WardList.zip
Thanks for sharing this. I've been using your program for the last couple months and have found it to be super useful. Recently our ward was chopped up into parts of 4 different wards and I was able to use the program to generate picture directories to send to each of the new wards so they would know who to look for. We've also had requests for Relief Society picture directories, as well as just general ward directories. The flexibility of the program has been great. I can just add or remove rows from the CSV as needed.

Some tips for anyone else interested in this program:

1) The LUWS .CSV needs some massaging to get it ready to use with this program. I have a couple functions that I'm using to get the first and last names into separate fields.

2) Something was giving me an error when I first tried to run it. I believe it was something to do with not having a picture for the first or last row on the .csv.

3) If you don't have an image for someone, they don't appear in the picture directory portion of the document. To remedy this, I found a generic picture of a head silhouette with a question mark on it, and use that for anyone whose picture we don't have.
User avatar
thedqs
Community Moderators
Posts: 1042
Joined: Wed Jan 24, 2007 8:53 am
Location: Redmond, WA
Contact:

#35

Post by thedqs »

jworkin wrote:1) The LUWS .CSV needs some massaging to get it ready to use with this program. I have a couple functions that I'm using to get the first and last names into separate fields.

2) Something was giving me an error when I first tried to run it. I believe it was something to do with not having a picture for the first or last row on the .csv.

3) If you don't have an image for someone, they don't appear in the picture directory portion of the document. To remedy this, I found a generic picture of a head silhouette with a question mark on it, and use that for anyone whose picture we don't have.

As for some suggestions on implementation:
1) Maybe create a drag and drop type interface for the fields of the program and the fields in the CSV. That way the program gets the CSV in the format it wants.

2 & 3) Maybe encode a resource for those that don't have the picture or have the user select a picture for those that don't supply a picture.
- David
User avatar
mkmurray
Senior Member
Posts: 3233
Joined: Tue Jan 23, 2007 9:56 pm
Location: Utah
Contact:

#36

Post by mkmurray »

thedqs wrote:After thinking it over and getting the idea for a program to import the vCard into Outlook, it might be useful, if the picture is placed on the vCard too, to use the vCard for Ward List creation.
I have made a plea for this functionality here:

http://tech.lds.org/forum/showthread.ph ... #post17988

Man, you thought of it long before I did (and long before vCard export actually existed in LUWS).
gabeblack-p40
New Member
Posts: 6
Joined: Sun May 17, 2009 4:05 pm
Location: USA, Round Rock TX

Photo Directory

#37

Post by gabeblack-p40 »

I wrote a program to create a nice Photo directory and can import the data from the exported excel file created by the ward website to populate the text information in the photo directory.

I created a simple blog to host the program http://warddirectory.blogspot.com

Here's a sample screenshot:
ImageImage

PDF Sample:
Image

It sounds fairly simple to extend it to create a text-based directory as well. I guess I would need to know feedback on my current program to know if anything is missing (i.e. needs birthday fields..etc) to create the text-based directory.

If you think creating a text-based directory takes time... try a photo directory! That is the main reason I created the program. I think it took less time to create the program than it did to create the first ward directory by hand!
fraserredmond
Member
Posts: 56
Joined: Fri Feb 16, 2007 6:44 pm
Location: New Zealand

#38

Post by fraserredmond »

Awesome, gabeblack, looks really good! I was surprised at how fast it generates the PDF.

Can you make it so the program also accepts csv exported from MLS? Those of us outside the USA don't get the unit websites :-(

(Looking at JSweeney's post above, I guess that could involve combining rows, by taking the row for head of house and row for their spouse and combining into the one row - but like you said, it's probably about as quick to write a routine to do that, as it is to do it manually - if I knew Python I'd offer to help.)

I was going to ask for it to handle A4 paper size, but it does that automatically :-)
gabeblack-p40
New Member
Posts: 6
Joined: Sun May 17, 2009 4:05 pm
Location: USA, Round Rock TX

#39

Post by gabeblack-p40 »

Is the MLS CSV file documented? I've never dealt with MLS, all I have access to is the ward website. If you could point me to some documentation or an example MLS CSV file (header info and one entry should hopefully be enough), I could add it. I plan on open sourcing the program, it was just kind of hacked together as I learned python and I'm a little embarrassed to opening my first python program for others to heckle :-P I hoped to clean it up a bit before I open source (but only of course if others find it useful)
fraserredmond
Member
Posts: 56
Joined: Fri Feb 16, 2007 6:44 pm
Location: New Zealand

#40

Post by fraserredmond »

I'll send you a sample by PM.
Locked

Return to “Ideas & Suggestions”