Co-op 2 Highlights 13

So, I’m catching up now on my posts here.  I had fallen a bit behind on posting, but not for lack of ideas or things to write about, rather a lack of time to put fingers to keyboard (like putting pen to paper).  🙂

My capstone project has been pretty much all-consuming lately and I am starting to see the end of the tunnel – it is a real, live attendance tracking tool.  You can enter attendance data for a specific date for a specific location and church time and save it.  And, it really does save into a database!  One of the things that I’ve added is a jquery datepicker, which has been a nice addition.  My capstone instructor has been very helpful with this project and maybe even a little stumped at times.  Between the two of us (him:  logic and syntax, me:  double-checking commas, column names, datatypes), we created a stored procedure to create a temp db – this will check to see if any attendance record already exists for that particular date.  If so, it allows you to update that attendance.  If not, it creates a record.  That was a huge breakthrough about 3-4 weeks ago now.  Connecting the datepicker was helpful and allows the end user to just click on a date, instead of typing in the date (and already knowing that Sunday was April 6 instead of April 5).

One thing I’ve realized though about our historical attendance data, which I am now importing in to the database, is that all records are based on a Sunday date, regardless of whether they happened on Wednesday, Friday, or Saturday.  Over the years, that has been the structure and it has worked, but in a pretty rudimentary way.  The Wednesday and Friday attendance numbers are in the same column, so you can’t really compare or analyze those numbers accurately because you don’t know if something was a Good Friday service or a Wednesday night church service.  I have to think through this a little further, but I am leaning to the side of correcting all of those items as they are imported into the new database.  It makes it more accurate, and databases are all about accurate.

Another thing I have wrestled with in the past 2 weeks is a datetime format for my data – I found this website with a great listing of examples for any type of format you may want.  I am still fine-tuning my date and time listings.  The times show up in 24-hr format, instead of AM/PM and I think the AM/PM would be a more user-friendly way to display the church times.

Reporting is one of the final big hills to tackle with this and I’m not sure how pretty it’s going to end up.  The project is based on MVC overall, but MVC and WebForms can intermingle within the same project.  I’ve found some good information here and here about this.  Actually making that happen doesn’t seem to be quite as easy.  I do have a basic gridview on a Reports page that allows sorting and paging of data, so you could sort by date, time, location, notes, or even attendance count.  I would love to find a great way to create a visual or infographic to display this data.  I’m still working on this and hopefully will be able to post about my success in my next post (#14).

One last piece is implementing a log-in system on this project, so not just anyone could enter data.  That will take a bit more research.


Co-op 2 Highlights 12

Well, it seems that I have been so busy in the last 2 weeks, I have fallen a bit behind.  That seems to be a theme for this semester – I’m keeping up with things in other circles, but have dropped my activity level here.  I have encountered all kinds of new information in the last couple of weeks, so I will be sharing that in my next post.

For this post, I will concentrate on the website updates I have been making.  Our sister organization is participating in a huge event at the end of May called the Hunger Walk.  Each year, this project includes updating the website to host several dedicated pages of information with links to registration pages, supporting information, social media connections, and an online payment/donation form connected to our payment gateway.

Making sure all of those things are updated and working correctly has been a focus.  During this season each year, these pages are made active or visible.  I have also activated our registration on the Freestore Foodbank’s website and created a short link to use in print pieces to help steer people to register.  This included a meeting with a couple of representatives from the Freestore Foodbank where I was able to give feedback on their Convio registration system.  In addition to updating several web pages, I am also working on writing the content and scheduling posts for both Twitter and Facebook.  Although that is not really relevant to true coding or programming, the social media aspect plays a big part in an organization’s web presence, so getting it right is important.  We also host a web page that can collect online donations, run them through our payment gateway, and updates a database with their donation.  This last part includes working with a database to make sure that any Hunger Walk-specific donations that come in are tagged with the correct GL code and the correct campaign code for this year (HW2014).  Doing this now, before donations start coming in, is important and relieves the headache of manually updating records with the correct campaign code.

This particular project requires a lot of project management.  There are a lot of moving parts, internal deadlines, external communications, and print pieces to be designed and printed.  Again, although this is not really related to coding and programming, the project management piece is important.  As a web developer working on a project, I will need to know what needs to be done, what the scope of the project is, what has been completed already, and what deadlines exist.  So, familiarity with project management is a plus in just about any realm nowadays.

I’ve also been involved with uploading Powerpoint files and Google forms (surveys) to this website for another program and have again found that great customer service makes for happy people.  I’ll be posting more soon with links to some of the information I’ve learned from working on my attendance reporting project.

Co-op 2 Highlights 11

This week has been filled with web updates, including some live database updates for our sister organization’s website.  This included uploading Powerpoint presentations through Cloudberry and linking them on the web page for a weekly class and updating another web page with new data.  One of things that has been consistently reinforced for my over the past 6 months, but also over the past 8 years or so, is that web content absolutely needs to be current and that a person’s first impression of your organization (including their decision to do business with you or not) sometimes comes down to a single visit to your website.  With poor or outdated content, all the flash, shock, and awe of great web design is not going to mean squat.  I visited a website recently and the most current news information they had posted was from 2011.  That either means they haven’t done anything newsworthy in the last 3 years or no one has updated their website.

Another item I’ve been working on over the last week or so has been using jquery to formulate a datepicker option on my attendance recording project (my capstone).  The more I work with jquery, the more I like it.  I used this article to gather more information about how to get things set up and I was so pleased to see it actually work!  This article contains a lot of good information on how to configure your bundles, what bundles do, and even provided a few other links to additional information.  Very helpful and so exciting to see my project developing further and taking shape.

Along the jquery path, I also needed to find a way to generate charts or graphic representations of attendance data on my Reports page.  I found a great open source option call jqplot and a really informative step-by-step guide on how to implement it in my MVC project.  After downloading the source code, I saved it in my Scripts folder in a sub-folder called jqplot.  I also modified my Bundles.config file to handle this set of jquery options and then included this bundle in my _Layout.cshtml file.  I am still configuring things, so I have not been able to test this part yet.  This could revolutionize how our organization currently looks at attendance data, so I’m hopeful and cautiously optimistic.

I’ve also been researching using a combination of MVC and Web Forms on my project and found this article that talks about how the two can coexist in a single project.  It seems like this MVC vs. Web Forms is a popular topic, possibly even hotly debated around the C# .NET water cooler.  I’m pretty new to both, having started out with Web Forms last year and now am working on an MVC project, so I think I’m maybe more open-minded to using either or both just because I haven’t developed a favorite yet.  The way I see it, Web Forms is the older and maybe more widely used format.  MVC came along and provides some great scalability, allowing you to write a piece of code once, instead of repeating the same thing multiple times (like configuring your data source).  It feels like there is more MVC can do to bridge the gap though, and I’m curious to see future developments of it.

If I was going to explain it to someone, I would say that Web Forms is like a toolbox, full of great tools, but all of specific use and size.  MVC is similar to that same toolbox, but it contains blueprints to build the tools and adjust them for different uses and sizes.  I could be totally wrong, but that’s how I am interpreting what I’ve read to this point.

Co-op 2 Highlights 10

My focus over this past week has been making updates to our sister organization’s website, adding links to Google form surveys and uploading Powerpoint training presentations through Cloudberry to link to on the web page.  I created a simple table to hold weeks 1 – 6 with another column for the training and survey links.  It was interesting because the person requesting this update was so pleased that I put it in some sort of order, which was such an easy thing to do.  Another update last week concerned staff as there was a recent turnover.  This website has limited connectivity to our MySQL database, so our staff web page is static.  When someone leaves, it requires a manual update to the web page taking out the former staff person’s name and adding in the new temporary person’s name.  There is also a big event coming up in May, the Hunger Walk in Cincinnati, and our organization uses this event as a major fundraiser for food dollars for the year.  At the core of that is project management, communications, registrations, print pieces, social media marketing, coordinating with the Freestore Foodbank, working with the project team to bring completion to items under deadline, and updating the web page.  That has been a focus this week also.  Although the social media and web page updates are only part of this project, I do feel that project management overall is a valuable tool to have in one’s toolbox.  There is a need to be able to work under deadline, sketch out the overall goal, and fill in all of the details that need to happen in order to meet the goal.

I came across a new term this week, parallax web design, and wanted to investigate this a little further.  This web page from AWWWARDS gives a great overview of what parallax web design is and provides links to good examples.  Parallax design is based on the old-school video games (think old Super Mario Brothers) that scroll along with links or anchors to different sections of the large page, instead of chopping the website up into small individual pages.  I’d be curious to know the pros and cons of this design and how or why it seems to be trending now.  This article was from October 2013, so it’s not terribly old.  It would be curious to see how popular this trend becomes.

There is more work to do on VARI, my attendance reporting project, and I am meeting with my Capstone professor tonight to clarify a couple of items.  It has morphed a little from my original design and scope, but I think it will still be a very helpful tool, if my organization decides to use it.