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 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.