Tuesday, January 27, 2009

WALRUS Meeting Minutes - January 27, 2009

WALRUS Meeting Minutes
January 27, 2009
9:30am – 11:00am
Holton 241

In attendance:  Dave M Schuckit, Titus A Curtain, Timothy T Miles, Mark H Huang, John P Mills, Peter E Robinson, Tamara D Edmond, Sarah Eowyn Lill, Donna G Genzmer, Ricky D Kaja, Brett S Ketter, Quinn K Madson, Thomas H Hruby, Richard C Singer, Trevor James Schara, Joseph Steinbring

 

I.                    Open

a.       John Mills provided today’s Bagels

b.      We went around the table and introduced ourselves because of the new people in the group

II.                  Quinn Madson’s Presentation On Subversion and RapidSVN

a.       Subversion

                                                               i.      Video on what Subversion is and why it’s useful

1.       http://www.youtube.com/watch?v=8wYiabh2hpM

                                                             ii.      Subversion is useful for storing code, word documents, etc.

                                                            iii.      Documents and tutorials are available on Quinn’s public panthefile space

1.       http://pantherfile.uwm.edu/qkmadson/public/svn/

                                                           iv.      UITS has a Subversion server in use and a WALRUS repository currently exists on it

1.       https://svn.uits.uwm.edu/repositories/walrus/

2.       Currently, only members of the WALRUS Website and Code Repository subcommittees have access to the repository but once a plan is designed for use of the repository, access will be opened up to the rest of the group.

b.      RapidSVN

                                                               i.      RapidSVN has the benefit of being available for windows, OS X, or linux.

                                                             ii.      RapidSVN has been the base standard in UITS but there are many alternatives (some of which integrate into your editor of choice)

                                                            iii.      http://rapidsvn.tigris.org/

III.                Subcommittee Reports

a.       CSS

                                                               i.      Haven’t met since the last general meeting

                                                             ii.      Planning on meeting tomorrow at 3:00pm in Holton g37

b.      WALRUS Website and Code Repository

                                                               i.      No significant developments since last general meeting

                                                             ii.      Haven’t met since last general meeting

                                                            iii.      Time and location of the next meeting is TBA

 

c.       Environment-X

                                                               i.      Attended the last UTR meeting to explain what WALRUS is and to ask for names of interested stake-holders to talk to in divisions.

                                                             ii.      Planning on making an appeal for names of interested stake-holders at the next Chairs and Directors meeting.

                                                            iii.      Made a list of people to contact in various departments, in an attempt to get a list of interested stakeholders to interview and assigned tasks to subcommittee members.

                                                           iv.      Last met 01/20

                                                             v.      Next meeting is scheduled for 02/04 at 2:00.

d.      New Subcommittee?

                                                               i.      John Mills and Homer Hruby proposed that we form a google analytics subcommittee once one or more existing subcommittee completes its task  and dispands.

IV.                Other Business

a.       Quinn mentioned IMified as a promising technology that could be used to disseminate information on campus.

                                                               i.      http://new.imified.com/

                                                             ii.      Currently being looked at by Robert Nunez for use as a IT Status bot

b.      John asked if we could do a roundtable discussion next meeting.

V.                  Closing

a.       The next meeting is scheduled for February 17 at 9:30 in Holton 241.

b.      If you are not currently on a subcommittee and would like to be on one, feel free to contact the members of that subcommittee to join one.  Refer to the blog for contact info.

 

Note:  This document will be distributed via the blog, the reflector (web-developers@uwm.edu), and pantherfile (https://pantherfile.uwm.edu/josephs7/public/walrus/).

WALRUS Blog:  http://uwm-walrus.blogspot.com/

WALRUS Twitter Feed:  http://twitter.com/uwm_walrus

 

Thursday, January 15, 2009

Meeting Notes (01/14/2009)

WALRUS
Meeting Minutes
01/14/2009 ( 09:30 – 11:00 )
Curtin 181

Invitees:

Brett Ketter, Clint Pfund, Donna Genzmer, Dave Schuckit, Dusko Josifovski, Jason Anderson, Joe Steinbring, John Mills, Joel Rottier, Mark Huang, Mark Jacobson, Michelle Caswell, Michael Hostad, Tim Miles, Nate Bloom, Peter Robinson, Paul Bersch, Titus Curtain, Quinn Madson, Ricky Kaja, Jeremy Streich, Tamara Edmond, Homer Hruby, Trevor Schara

Agenda Items:
I. Open

a. Recording of minutes?

b. Identification of who is recording meeting minutes – jasonja2

II. Subcommittee Reports

a. WALRUS Website

a. Blog currently at http://uwm-walrus.blogspot.com

b. Code repository

a. A subversion share has been setup at https://svn.uits.uwm.edu/repositories/walrus

b. A draft proposal of the UITS support for subversion along with extensive documentation can be found at https://pantherfile.uwm.edu/qkmadson/public/svn

c. Creating a document/folder structure to manage Coldfusion subversion projects.

c. Environment-X

a. Drafted survey questions to assess the needs of the campus community for a secondary web environment. https://pantherfile.uwm.edu/jasonja2/public/walrus/EnvironmentX_SurveyQuestions.doc

b. We are presenting ourselves at the next UTR meeting to get an idea of the interest in a secondary environment. (Friday January 16th at 2:00PM)

d. CSS

a. Working on segmented CSS templates. (forms, tables, typography, etc)

b. Possible styled word docs/pdfs.

c. Working on a standard naming convention.

d. Working on static layouts for static pages.

III. Presentation

a. “ajaxCFC: How to shuttle data around via ajax” by Quinn Madson; code examples located at: https://pantherfile.uwm.edu/qkmadson/public/examples/ajax_cfc

a. http://www.robgonda.com/blog/projects/ajaxcfc/

b. Allows JavaScript to call Coldfusion components/functions directly instead of reloading the page.


IV. New Agenda Items

a. New Items?

V. Close

a. Confirmation and assignment of any new action items

b. Identification of future agenda items

c. Confirmation of the next meeting time and location

Friday, January 9, 2009

Database Abstraction and Encapsulation

Database Abstraction

Database Abstraction and Encapsulation Database Abstraction: A layer of communication that unifies communication between an application and multiple types of databases (eg. MySQL, Oracle, MSSQL, etc) Database Encapsulation: An abstraction of the database that hides the underlying table structure. Definition: A layer of communication that unifies communication between an application and multiple types of databases (eg. MySQL, Oracle, MSSQL, etc) Image Sourc Allows for better portability of applications. Useful when connecting to multiple types of databases at the same time. Necessary for applications that are seeking wide distribution among many different environments. (eg. CMS) Normally provides excellent caching support. Since applications are not calling the SQL statements directly, the performance suffers greatly. Features of the abstraction layer are degraded to the lowest common feature set. Languages of the abstraction layer are a mixture of standard SQL and custom abstraction layer functions. Consensus among many: Generally not needed in custom applications. Too limited due to only being able to use the lowest common denominator of features. Condensing database transactions into their own classes is usually the best solution. Enter database encapsulation!! Definition: An abstraction of the database that hides the underlying table structure. Organizes all data related operations in one place. Objects -> Tables -> Objects Definition: An abstraction of the database that hides the underlying table structure. Image Sourc Definition: An abstraction of the database that hides the underlying table structure. Image Source Views Stored Procedures Packages Triggers Definition:“virtual” table that is a composite of multiple real tables. Pros: Structure of the real tables can be changed, but the application code can stay the same. (AKA: provides a layer of abstraction to the database application) Multiple views can contain the same data without redundant information in the real tables. Cons?: UPDATE, INSERT, and DELETE cannot be used on a view. Definition: A function that takes arguments to execute predefined SQL statements. Image Sourc Pros: Wicked fast. Hides the structure of the underlying database. Cons: Database dependent. Another codebase to manage. Definition: A collection of procedures and variables that can be logically grouped together. Can be thought of as an object. Eg. EMPLOYEE Package EMPLOYEE.fire_employee(integer dept_id) EMPLOYEE.hire_employee(integer dept_id) EMPLOYEE.salary_raise(float percent_raise) Definition: A collection of procedures and variables that are logically grouped together. Image Sourc Pros: Collects all operations of an entity into a single object. Fast because the entire package is stored in memory instead of on the hard disk. Cons: Again, these are very heavily database dependent. Again, another code base to manage. Description: Like stored procedures, but executed automatically when an INSERT, UPDATE, or DELETE is called. Image Source Pros: Allows enforcement of referential integrity. Provide transparent event logging. Maintain table replicates. Cons: Cascading triggers can cause hard to diagnose problems. Again, triggers can be database dependent. Again, another code base to manage. Cascading Triggers Image Source Views can be easily cached. Stored Procedures are compiled and stored in database. Triggers are complied and stored in the database. A secondary code base that has to be managed. Harder to switch databases. Do the performance benefits and the amount of granular control outweigh the lack of portability and complexity of an encapsulated database? Is it easier to create application code that encapsulates database operations? Eg.) Functions that return queries that a view would normally return. Database Triggers: http://dbserv.sinp.msu.ru/DOC/server/doc/SCN73/ch15.htm Database Encapsulation: http://www.agiledata.org/essays/implementationStrategies.h Oracle Packages: http://thinkoracle.blogspot.com/2005/10/oracle-packages.htm Stored Procedures and Packages: http://stanford.edu/dept/itss/docs/oracle/10g/server.101/b10 Writing Portable SQL: http://www.internationaldeveloper.com/Writing_Portable_SQL Database Layers Must Die: http://jeremy.zawodny.com/blog/archives/002194.html

Wednesday, January 7, 2009

Website & Code Repository Joint Meeting Notes 07 JAN 09

Present - Ricky Kaja, Paul Bersch, John Mills, Jason Anderson, Quinn Madson, Tim Miles, Joe Steinbring

Discussion on Agenda Items:

Commonspot Template, Commonspot Subsite: Not yet created, waiting for site map to be created and agreed upon. John has notes from site map discussion from last meeting and will create these items after the site map is finished.

Access to UITS SVN Repository: All attendees of the last meeting were given access to the UITS SVN server, hosted at https://svn.uits.uwm.edu/repositories/walrus and authenticated with ePanther IDs. We discussed possible frontends to the repositories. Trac seems to be the foremost candidate, along with a simple blog that would be updated when users make commits.

Things to do for next meeting/future meetings:

Quinn:
  • Bring document from server admins re: expected uptime and availability of the SVN server.
  • Speak with server admins at next meeting re: installing Trac on the SVN server.
  • Create a Walrus blogspot blog.

John:
  • Send out sitemap to all members.
  • Create subsite and template so that other members can begin creating content.

UITS members familiar w/SVN:
  • Be ready to present about SVN and RapidSVN at the next available general meeting (not next meeting).

Other Members:
  • Try out subversion repo and RapidSVN.
  • Look into frontends for SVN repositories.

Current Sub Groups & Members

Name: Enviroment-X
Description: Create a proposal which analyzes and identifies a solution for a new server environment at UWM
Members:
  • Mark Huang (markh)
  • Jeremy Streich (streich)
  • Jason Anderson (jasonja2) *
  • Joe Steinbring (josephs7)
  • Dusko Jovifoski (duskoj)
  • Quinn Madson (qkmadson)
Name: Content Management System (CMS) Web Standards
Description: Create a guide of web standards for users of the UWM CMS to follow/reference
Members:
  • John Mills (jpp3)
  • Homer Hruby (thhruby) *
  • Mark Huang (markh)
  • Tim Miles (miles)
  • Jeremy Streich (streich)
Name: WALRUS Website
Description: Create a website for the WALRUS group
Members:
  • Paul Bersch (pnbersch)
  • Ricky Kaja (rickyk)
  • John Mills (jpp3)
  • Joe Steinbring (josephs7) *
Name: Code Repository
Description: Create an online repository where WALRUS members can share code/scripts easily and collaboratively
Members:
  • Titus Curtin (curtin)
  • Paul Bersch (pnbersch)
  • Jason Anderson (jasonja2)
  • Ricky Kaja (rickyk) *
  • Tim Miles (miles)
  • Quinn Madson (qkmadson)
* Denotes designated group contact

UWM WALRUS Draft Charter

Purpose

The Web Applications Learning & Research User Symposium will be charged with improving the knowledge and use of current and emerging web related technology concepts and practices for the campus community. This may include drafting position papers and best practices recommendations for submittal to the Web Steering Committee, as well as providing presentations. The group will also focus on fostering communication among the web developers across the UWM campus.

Scope

Major Team Activities

  • Discuss current and emerging web related technologies, techniques, tools, and environments.

  • Provide recommendations for direction and standards for campus web developers.

  • Render presentations to enrich the level of technical competence and expertise.

Out of Scope Activities

  • Mandates of technology usage or best practices.

  • Become an assistance resource that troubleshoots programming problems or a resource for basic web developer training.

  • Recommendations on appropriateness of web content.

Objectives

  • Provide an open environment that encourages discussion and community among campus web developers

  • Establish a system of information sharing for UWM web developers and encourage it's use.

  • Act as a consultancy resource for groups and individuals seeking advice on web related technologies.

  • Develop a coherent strategy and process for investigation of new web technologies.

Deliverables

  • Draft position papers, recommenced policies, and best practices on technology and infrastructure.

  • Establishment of an on-going campus web developers group.

  • Documentation of recommended UWM web development standards and best practices.