[Building Sakai] A Sensitive Subject

Steve Swinsburg steve.swinsburg at gmail.com
Mon Oct 15 16:02:33 PDT 2012


The original question was "Does Sakai require database table names to be case sensitive?" The answer is no, its not a requirement, but its a recommendation due to the mixed cases that we have already and to cause future issues. 

At production sites I have worked on where a shared db server was available and it was setup as case sensitive, they just run up a separate instance on a different port and configured it as case insensitive, or ran it on a dedicated box. They were running other aforementioned software so that made sense. If thats still not an option, then case sensitive should work, though again, not recommended. 

And if you want to run contrib tools that don't adhere to the configuration you want, then you might be in trouble.

No one has advocated it be a requirement. 

Steve



On 16/10/2012, at 8:19 AM, Sam Ottenhoff <ottenhoff at longsight.com> wrote:

> Right, but it 's a recommendation and not a requirement.  Until it's a requirement, referring to a table in opposite case in a conversion script should be marked as a release blocker.
> 
> The argument against making it a requirement: we have enough requirements to run CLE.  We actually were able to drop two previously-required JAVA_OPTS from 2.8 to 2.9 so are headed in the right direction of making CLE easier to run.
> 
> Why can't some institutions easily change a database property?  Because they run central DB servers managed by DBAs and lowercase table names can't be set on a per-database level.
> 
> --Sam
> 
> On Mon, Oct 15, 2012 at 5:07 PM, Steve Swinsburg <steve.swinsburg at gmail.com> wrote:
> No, its more like you are running a setup that is the opposite of what is recommended in the admin guide, and you hope that developers cater for your needs. Sorry, but this is the same as running an unsupported piece of software. The chat2_channel table is classic example of why we should not be supporting case sensitivity. Someone should be able to write some SQL without having to worry about getting the case of every letter correct. One look at the conversion scripts shows this as well, some upper, some lower.
> 
> Many other projects are the same as this, uPortal for example [1] where the recommendation is to set up the db for lowercase table names, to avoid:
> 1. Difficulties moving between platforms.
> 2. Worrying about case in handwritten SQL.
> 
> Like Matt said, the QA servers are setup so this has generally been caught, but you really can't argue with a recommendation thats been there since 2007.
> 
> cheers,
> Steve
> 
> On 15/10/2012, at 8:59 PM, Stephen Marquard <stephen.marquard at uct.ac.za> wrote:
> 
> > This statement translates to: "we don't care enough to require developers not to break Sakai production installations by introducing arbitrary and unnecessary inconsistencies".
> >
> > I would hope that the project's technical leadership could set a higher bar than this.
> >
> > Regards
> > Stephen
> >
> > Stephen Marquard, Learning Technologies Co-ordinator
> > Centre for Educational Technology, University of Cape Town
> > http://www.cet.uct.ac.za
> > Email/IM/XMPP: stephen.marquard at uct.ac.za
> > Phone: +27-21-650-5037 Cell: +27-83-500-5290
> >
> >
> >>>> Steve Swinsburg <steve.swinsburg at gmail.com> 10/15/2012 11:25 AM >>>
> > That part of the db guide has been around since 2007. I don't think either case sensitivity or case insensitivity was ever discussed, but it because the defacto standard.
> > I'm not suggesting you need to change anything, if it works as is then that's fine, but if the recommendation is to set the db as case insensitive, then I wouldn't be surprise to see mixed case SQL.
> >
> > cheers,
> > S
> >
> > On 15/10/2012, at 7:23 PM, David Horwitz <david.horwitz at uct.ac.za> wrote:
> >
> >> Steve,
> >>
> >> By the same token abandoning case support case sensitivity has never been properly discussed or decided on by those of us who’ve been running mysql on *nix since before this was added to the setup script. Changes to production database configuration are something we are extremely loathe to do without good reason ...
> >>
> >> D
> >> On 10/15/2012 10:19 AM, Steve Swinsburg wrote:
> >>> Nowhere is it stated that the case of SQL needs to be maintained.
> >>> It is true that if you are running a case sensitive database then you might have issues, which is why its recommended not to run a case sensitive database.
> >>>
> >>> https://confluence.sakaiproject.org/display/DOC/Sakai+Admin+Guide+-+Database+Configuration+and+Tuning
> >>>
> >>> Also, have a look at the chat2_channel table for some mixed case mayhem.
> >>>
> >>> cheers,
> >>> Steve
> >>>
> >>> On 15/10/2012, at 6:09 PM, Stephen Marquard <stephen.marquard at uct.ac.za> wrote:
> >>>
> >>>> I have to disagree with that ("there is no standard case enforced").
> >>>> Sites running databases with case-sensitive table names (as we are)
> >>>> would take a dim view of any changes checked in that referred to
> >>>> existing tables with different case, as it basically would not work.
> >>>> Developers are required to use the same case for table names as the
> >>>> table names were set up with (in the DDL SQL or hibernate config).
> >>>>
> >>>> Cheers
> >>>> Stephen
> >>>>
> >>>> Stephen Marquard, Learning Technologies Co-ordinator
> >>>> Centre for Educational Technology, University of Cape Town
> >>>> http://www.cet.uct.ac.za
> >>>> Email/IM/XMPP: stephen.marquard at uct.ac.za
> >>>> Phone: +27-21-650-5037 Cell: +27-83-500-5290
> >>>>
> >>>>
> >>>>>>> Steve Swinsburg <steve.swinsburg at gmail.com> 10/15/2012 1:18 AM >>>
> >>>> And there is no standard case enforced when referring to the same
> >>>> tables or
> >>>> columns, ie SAKAI_USER, sakai_user for example.
> >>>>
> >>>> Bottom line, set your db up to be case insensitive.
> >>>>
> >>>> cheers,
> >>>> Steve
> >>>>
> >>>> On Mon, Oct 15, 2012 at 3:44 AM, David Horwitz
> >>>> <david.horwitz at uct.ac.za>wrote:
> >>>>
> >>>>> One way of putting is:
> >>>>>
> >>>>> "Sakai does not require case sensitive table names but all scripts
> >>>> and
> >>>>> code should assume that it may be running on a database that is case
> >>>>> sensitive"
> >>>>>
> >>>>> D
> >>>>>
> >>>>>
> >>>>>
> >>>>> On 10/12/2012 04:04 PM, Matthew Jones wrote:
> >>>>>
> >>>>> If you're running Mysql on Non-OSX UNIX, then by default the table
> >>>> names
> >>>>> are case sensitive.
> >>>>>
> >>>>> In the admin guide we recommend altering the Mysql configuration so
> >>>> it
> >>>>> isn't case sensitive which is the default value for OSX and Windows
> >>>> (
> >>>> https://confluence.sakaiproject.org/display/DOC/Sakai+Admin+Guide+-+Database+Configuration+and+Tuning)
> >>>>> but it should work either way. All hard coded queries, conversion
> >>>> scripts
> >>>>> as well as Mysql QA servers are set to be case sensitive
> >>>>>
> >>>>> On Fri, Oct 12, 2012 at 9:56 AM, Mark J. Norton
> >>>> <markjnorton at earthlink.net
> >>>>>> wrote:
> >>>>>> Does Sakai require database table names to be case sensitive?  I
> >>>> don't
> >>>>>> seem to recall anything about this in the database set-up of the
> >>>> install
> >>>>>> instructions.
> >>>>>>
> >>>>>> - Mark Norton
> >>>>>>
> >>>>>> _______________________________________________
> >>>>>> sakai-dev mailing list
> >>>>>> sakai-dev at collab.sakaiproject.org
> >>>>>> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
> >>>>>>
> >>>>>> TO UNSUBSCRIBE: send email to
> >>>>>> sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of
> >>>>>> "unsubscribe"
> >>>>>>
> >>>>>
> >>>>>
> >>>>> _______________________________________________
> >>>>> sakai-dev mailing
> >>>> listsakai-dev at collab.sakaiproject.orghttp://collab.sakaiproject.org/mailman/listinfo/sakai-dev
> >>>>
> >>>>> TO UNSUBSCRIBE: send email to
> >>>> sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of
> >>>> "unsubscribe"
> >>>>>
> >>>>>
> >>>>> _______________________________________________
> >>>>> sakai-dev mailing list
> >>>>> sakai-dev at collab.sakaiproject.org
> >>>>> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
> >>>>>
> >>>>> TO UNSUBSCRIBE: send email to
> >>>>> sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of
> >>>>> "unsubscribe"
> >>>>>
> >>>>
> >>>>
> >>>>
> >>>> ###
> >>>>
> >>>> UNIVERSITY OF CAPE TOWN
> >>>>
> >>>> This e-mail is subject to the UCT ICT policies and e-mail disclaimer
> >>>> published on our website at
> >>>> http://www.uct.ac.za/about/policies/emaildisclaimer/ or obtainable from
> >>>> +27 21 650 9111. This e-mail is intended only for the person(s) to whom
> >>>> it is addressed. If the e-mail has reached you in error, please notify
> >>>> the author. If you are not the intended recipient of the e-mail you may
> >>>> not use, disclose, copy, redirect or print the content. If this e-mail
> >>>> is not related to the business of UCT it is sent by the sender in the
> >>>> sender's individual capacity.
> >>>>
> >>>> ###
> >>>>
> >>>> ________________________________
> >>>> UNIVERSITY OF CAPE TOWN
> >>>>
> >>>> This e-mail is subject to the UCT ICT policies and e-mail disclaimer published on our website at http://www.uct.ac.za/about/policies/emaildisclaimer/ or obtainable from +27 21 650 9111. This e-mail is intended only for the person(s) to whom it is addressed. If the e-mail has reached you in error, please notify the author. If you are not the intended recipient of the e-mail you may not use, disclose, copy, redirect or print the content. If this e-mail is not related to the business of UCT it is sent by the sender in the sender's individual capacity.
> >>>>
> >>>
> >>
> >>
> >
> >
> >
> >
> >
> >
> > ###
> >
> > UNIVERSITY OF CAPE TOWN
> >
> > This e-mail is subject to the UCT ICT policies and e-mail disclaimer published on our website at http://www.uct.ac.za/about/policies/emaildisclaimer/ or obtainable from +27 21 650 9111. This e-mail is intended only for the person(s) to whom it is addressed. If the e-mail has reached you in error, please notify the author. If you are not the intended recipient of the e-mail you may not use, disclose, copy, redirect or print the content. If this e-mail is not related to the business of UCT it is sent by the sender in the sender's individual capacity.
> >
> > ###
> >
> >
> 
> _______________________________________________
> sakai-dev mailing list
> sakai-dev at collab.sakaiproject.org
> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
> 
> TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of "unsubscribe"
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20121016/98418b31/attachment.html 


More information about the sakai-dev mailing list