[CODE4LIB] SobekCM Version 4.9.0 Announcement

2015-10-04 Thread Sullivan, Mark V
All,


We are proud to announce the release of the latest version of the SobekCM 
open-source digital repository software. 
This version includes the addition of a robust web content system, useful for 
online exhibits, general announcements related to your digital collection, or 
documentation. This module is the largest single addition to the SobekCM system 
in the last five years, with more than 10 new administrative screens. In 
addition, all of the administrative and public pages are supported by the 
SobekCM Engine REST APIs. This makes this module the first to be supported 100% 
by the new architecture. As a result of this work, the architecture of the 
SobekCM Engine continued to evolve.


In addition to the web content work, several changes occurred to searching and 
browsing material, a new video viewer was added, and the system realize many 
small improvements. In addition, the efforts towards the cleanest code possible 
was continued and additional support for PostgreSQL and MySQL continued to be 
added. The ability to customize several messages, including the 404 missing 
page and no results pages was added. Finally, many community reported bugs have 
been corrected.


SobekCM releases are available at the following locations:

  *   SobekRepository.org: http://sobekrepository.org/software/download
  *   Sourceforge (digitally signed and protected MSIs): 
https://sourceforge.net/projects/sobekcm/
  *   GitHub (Daily Builds): 
https://github.com/MarkVSullivan/SobekCM-Web-Application

A complete list of changes appears below and is available online at 
http://sobekrepository.org/sobekcm/development/history.


Mark V. Sullivan
Sobek Digital
​mark.v.sulli...@sobekdigital.com

Web Content (Exhibits) Module

  *   Changed the way the URL is parsed to the web content pages
 *   Web Content Hierarchy is now stored in the engine application state
 *   Web Content Hierarchy is now checked for any possible calls before 
aggregation call checks
 *   Only web content pages in the database will function now
  *   Added ability to set a redirect, so that a user hitting this page is 
redirected to another (internal or external) URL
  *   New single page administration
 *   Enabled online editing of the HTML, including image upload, similar to 
the aggregation-level static HTML pages
 *   Added new internal header for logged on, permissioned users
 *   Added usage statistics viewer for one page online
 *   Added milestone/history viewer to see all the changes through time
 *   Permissions viewer to see assigned rights for page online (currently 
admin and portal admins)
 *   Management menu to access all the new single page admins screens
 *   Admin view:
*   Allows all of the SEO metadata to be edited
*   Manage the display characteristics for the page
*   Associate the page with a web content navigation unit
*   View all the child pages
*   Bulk manage uploaded images and documents
  *   New top level administration
 *   View list of all pages and redirects
 *   View usage statistics for all pages
 *   View history of changes across all web content pages
 *   Ability to add a new web content page
  *   New REST API endpoints are used for all of this, both public and admin 
access

Video Item Viewer

  *   Added new item viewer for MP4, OGG, and WEBM formats
  *   Automatically added when those files are available for download
  *   Includes ability to select the video to view if multiple

PostgreSQL and MySQL support

  *   Engine agnostic layer pulled into its own class library
  *   Resource object library database now uses this library for all database 
calls
  *   Removed reference to old Microsoft.ApplicationBlocks.Data library
  *   Fixed OAI-PMH saving error introduced with new support for PostgreSQL
  *   Support for selecting MySQL as database type

General REST API endpoint / SobekCM Engine updates

  *   General endpoints are now passed a debug flag, so debug eligibility can 
be defined at the microservice handler level
  *   Fix for the IP restriction check when there are more than 3 IP ranges 
included
  *   Engine config file and config reader updates
 *   Config reader now reads BOTH the default and user config files and 
merges them
 *   Now supports ClearAll and RemoveAll elements to clear what was 
previously loaded at any level
 *   Documentation parts moved into an AutoDoc tag, and can now reside at 
the path level
 *   IPs can be added in the user config to those standard ranges from the 
default config
  *   Multiple verbs ( POST / PUT / DELETE )
 *   A single endpoint can now map each verb differently, for REST API 
endpoints
 *   Tested and implemented this new architecture with the web content 
endpoints
  *   Error catching
 *   Errors encountered by the client are now written to the 

Re: [CODE4LIB] COinS metadata format support

2014-01-17 Thread Sullivan, Mark V
Chad,

Definitely, I recently added more metadata support to my system.  To do that, I 
added Schema.org microdata, COinS, and Highwire Press tags for Google Scholar.  
I was tempted to implement the old fashioned Dublin core tags, but held back in 
case it would mean those fields would be double indexed.  I haven't had any 
systems balk at receiving too much metadata in the page.

Mark / UF



-Original Message-
From: Code for Libraries [mailto:CODE4LIB@LISTSERV.ND.EDU] On Behalf Of Chad 
Mills
Sent: Friday, January 17, 2014 1:46 PM
To: CODE4LIB@LISTSERV.ND.EDU
Subject: Re: [CODE4LIB] COinS metadata format support

Mike,

I initially started with microdata; larger coverage...  Someone reminded me 
about COinS and that has gotten me distracted now.  Been weighing both back and 
forth in my mind.  Why not both?  Can I have my cake and eat it too?

I like cake,
Chad


- Original Message -
From: Michael J. Giarlo leftw...@alumni.rutgers.edu
To: CODE4LIB@LISTSERV.ND.EDU
Sent: Friday, January 17, 2014 1:33:45 PM
Subject: Re: [CODE4LIB] COinS metadata format support

Chad,

In that case, I wonder if you might get more mileage out of schema.orgmicrodata 
instead of COinS.  There are undoubtedly more clients out there that can make 
sense of HTML5 microdata than COinS, which is really showing its age and is a 
niche technology.

-Mike



On Fri, Jan 17, 2014 at 10:25 AM, Chad Mills cmmi...@rci.rutgers.eduwrote:

 Jodi,

 No.  I am working with our repository resources which is an eclectic 
 mixture of resource types.  I just want to simply embed our metadata 
 in our search results and record displays for other tools to use.  It 
 seems cheap and reasonable to do I just didn't want to limit this 
 feature to only certain resource types.

 Best,
 Chad


 - Original Message -
 From: Jodi Schneider jschnei...@pobox.com
 To: CODE4LIB@LISTSERV.ND.EDU
 Sent: Friday, January 17, 2014 12:54:43 PM
 Subject: Re: [CODE4LIB] COinS metadata format support

 Hi Chad,

 Are these subscription images/video/audio that libraries have? The 
 original purpose of COinS, as I understand it, was to get people to 
 subscription copies. Depending on what you're doing (i.e. the 
 purpose/intended use) there might be a better standard these days.

 In case it helps there's more info here:
 http://ocoins.info/
 (though it looks like the generator isn't up any longer, maybe due to 
 OCLC New Jersey hosting?)

 Hopefully you'll get some more helpful advice from others!

 -Jodi




 On Fri, Jan 17, 2014 at 5:36 PM, Chad Mills cmmi...@rci.rutgers.edu
 wrote:

  I was able to easily find and create COinS for books and journals.  
  I started thinking about images, video, audio, etc.  I see 
  references to 'info:ofi/fmt:kev:mtx:unknown' as a rft_val_fmt value 
  some places.  I
 would
  assume if I went down that road the rft.genre would have a value of 
  'unknown' as well.  Is there some other alternative I am missing 
  when handling other formats?
 
  Thanks!
 
  --
  Chad Mills
  Digital Library Architect
  Ph: 848.932.5924
  Fax: 848.932.1386
  Cell: 732.309.8538
 
  Rutgers University Libraries
  Scholarly Communication Center
  Room 409D, Alexander Library
  169 College Avenue, New Brunswick, NJ 08901
 
  http://rucore.libraries.rutgers.edu/
 



Re: [CODE4LIB] Institutional Repository Costs

2013-09-17 Thread Sullivan, Mark V
Scott,

Depending on the primary technologies you are using at your institution, you 
could look at implementing the open source solution SobekCM.  ( 
http://sobek.ufl.edu )   We are using this at our institution ( 
http://ufdc.ufl.edu/ufir ).  We developed the system in-house over the last 
six-seven years and it works quite well as our IR.

It runs on Windows servers, with a Microsoft SQL DB and Solr backend.  You can 
use the free Microsoft Express SQL if you like, assuming you don't reach 
100,000 items in your IR.  I am able to roll out a new instance within a day 
usually, but would obviously take slightly longer to learn the system and how 
to do that.  The system is coded primarily in C# (with the obvious javascript 
thrown in as well) and we are actively pursuing two grants that will beef the 
IR functionality up even more; one to add a local authority system (for people, 
places, etc..) to assist with linked data and increased support for datasets.

It works with Shibboleth authentication, LDAP through Active Directory, or you 
can use a built in authentication system, which obviously doesn't give your 
faculty single signon.

We welcome active participation in the code development as well, so if you 
wanted to contribute back to the code base at GitHub we would love it.

Mark


Mark V Sullivan
Digital Development and Web Coordinator
Technology and Support Services
George A. Smathers Libraries
University of Florida 
352-273-2907 (office)
352-682-9692 (mobile)
mars...@uflib.ufl.edu




-Original Message-
From: Code for Libraries [mailto:CODE4LIB@LISTSERV.ND.EDU] On Behalf Of scott 
bacon
Sent: Tuesday, September 17, 2013 9:05 AM
To: CODE4LIB@LISTSERV.ND.EDU
Subject: [CODE4LIB] Institutional Repository Costs

It may be a fool's errand to ask how much it would cost to implement an open 
source institutional repository, but here goes!


Let's first focus on open source and say that there won't be vendor costs for 
ingesting or downloading materials, that we already have our own purchased 
servers dedicated to the IR, our own digitization program (scanners and staff), 
and that we have already tallied cloud-based storage and preservation costs.


I have heard that the costs of implementing an open source IR can be as cheap 
as how much employee time is dedicated to the project. So you have a programmer 
spend a year or so on implementation and hire a librarian to manage it after 
that, let's say. Beyond that, are there any hard-and-fast costs associated with 
getting an IR up and running?


I have also read somewhere that it costs just as much to implement an open 
source IR as it does a proprietary one, but we'd certainly like to reap the 
benefits of having ultimate control over our own system if at all possible.


By the way, if it helps, my institution is classified *Master's S*, with an 
undergraduate enrollment of just under 10,000.


Numbers will vary wildly of course, but if anyone could give an idea of the 
cost of any component of a project like this, open source or proprietary, it 
would be most helpful.


Thanks,

Scott Bacon


Re: [CODE4LIB] LibGuides: I don't get it

2013-08-11 Thread Sullivan, Mark V
Your best bet is to get a clear mandate from administration on what should go 
where.  i.e., Writing a subject guide for faculty and students to use?  Put it 
in a LibGuide.  Creating a departmental, unit, or committee site?  Use the new 
fancy, shiny web content management system!

Barring that, you are left to fight each battle one at a time.  

If your system is simple and straightforward enough, though, you will likely 
win those battles.  It certainly helps if you have a very clean look in your 
own sites, since I find that LibGuides are harder to customize for a nice clean 
look, especially one that varies by department, etc..

Mark


From: Code for Libraries [CODE4LIB@LISTSERV.ND.EDU] on behalf of Heather Rayl 
[23e...@gmail.com]
Sent: Sunday, August 11, 2013 9:54 AM
To: CODE4LIB@LISTSERV.ND.EDU
Subject: Re: [CODE4LIB] LibGuides: I don't get it

I have to say that I loathe LibGuides. My library makes extensive use of
them, too. Need a web solution? The first thing out of someone's mouth is
Let's put it in a LibGuide!

Shudder

This fall, I'll be moving our main site over to Drupal, and I'm hoping that
eventually I can convince people to re-invent their LibGuides there. I can
use the saving money card, and the content silos are bad card and
*maybe* I will be successful.

Anyone fought this particular battle before?

~heather

On Sunday, August 11, 2013, Sean Hannan wrote:

 All of this, plus SpringShare has great support. Like, the best of any
 library vendor I've dealt with. I've had them implement features within an
 hour of me sending the email suggesting it.

 The big downside of LibGuides is that it's ease of use (and ease if reuse)
 leads to content sprawl like you wouldn't believe. The new version has a
 publishing workflow that can help mitigate this, but it's better to go into
 a LibGuides project with a content strategy firmly in place.

 -Sean
 
 From: Code for Libraries [CODE4LIB@LISTSERV.ND.EDU javascript:;] on
 behalf of Sullivan, Mark V [mars...@uflib.ufl.edu javascript:;]
 Sent: Saturday, August 10, 2013 9:44 PM
 To: CODE4LIB@LISTSERV.ND.EDU javascript:;
 Subject: Re: [CODE4LIB] LibGuides: I don't get it

 First, SpringShare has great marketing.

 Secondly, it is a very simple CMS that was offered at a time that many
 libraries were not getting good web support from IT.  LibGuides became the
 easiest way to edit web pages for many people.  It is certainly true at my
 institution, where we have had whole departments and units move their
 official website to LibGuides, rather than deal with Adobe Contribute and
 loose HTML files.  I am now in the midst of trying to fix that problem by
 rolling out an enterprise-level web cms, but I am finding many pages that
 have quietly moved to LibGuides.

 There IS the one compelling thing about sharing a module between different
 institutions on LibGuides.  If one of our faculty members generates a list
 of special resources for a topic, another faculty member in another
 institution can just insert that module into their page.  Of course, the
 worldwide web solved pretty much the same problems ages ago with the
 invention of links, so I'm not sure that is really that compelling anymore.

 Just my two cents..

 Mark

 
 From: Code for Libraries [CODE4LIB@LISTSERV.ND.EDU javascript:;] on
 behalf of davesgonechina [davesgonech...@gmail.com javascript:;]
 Sent: Saturday, August 10, 2013 9:23 PM
 To: CODE4LIB@LISTSERV.ND.EDU javascript:;
 Subject: [CODE4LIB] LibGuides: I don't get it

 I've not had an opportunity to use LibGuides, but I've seen a few and read
 the features list on the SpringShare. All I see is a less flexible
 WordPress at a higher price point. What advantages am I not seeing? If
 there aren't any, is it the case that once signed up, migration to an open
 source platform is just not worth it for most institutions?



Re: [CODE4LIB] LibGuides: I don't get it

2013-08-10 Thread Sullivan, Mark V
First, SpringShare has great marketing.  

Secondly, it is a very simple CMS that was offered at a time that many 
libraries were not getting good web support from IT.  LibGuides became the 
easiest way to edit web pages for many people.  It is certainly true at my 
institution, where we have had whole departments and units move their official 
website to LibGuides, rather than deal with Adobe Contribute and loose HTML 
files.  I am now in the midst of trying to fix that problem by rolling out an 
enterprise-level web cms, but I am finding many pages that have quietly moved 
to LibGuides.

There IS the one compelling thing about sharing a module between different 
institutions on LibGuides.  If one of our faculty members generates a list of 
special resources for a topic, another faculty member in another institution 
can just insert that module into their page.  Of course, the worldwide web 
solved pretty much the same problems ages ago with the invention of links, so 
I'm not sure that is really that compelling anymore.

Just my two cents..

Mark 


From: Code for Libraries [CODE4LIB@LISTSERV.ND.EDU] on behalf of davesgonechina 
[davesgonech...@gmail.com]
Sent: Saturday, August 10, 2013 9:23 PM
To: CODE4LIB@LISTSERV.ND.EDU
Subject: [CODE4LIB] LibGuides: I don't get it

I've not had an opportunity to use LibGuides, but I've seen a few and read
the features list on the SpringShare. All I see is a less flexible
WordPress at a higher price point. What advantages am I not seeing? If
there aren't any, is it the case that once signed up, migration to an open
source platform is just not worth it for most institutions?


Re: [CODE4LIB] Open Source release policies

2013-05-29 Thread Sullivan, Mark V
We just went through that formal process internally at the University of 
Florida to get approval for some software that we had actually released the 
code for already, since it was partly paid for by federal grants.  Overall the 
process wasn't super-streamlined and one felt they needed to be arguing for the 
lack of commercial viability.  (This won't be the next Gatorade.. I promise...)

Here are some comments from Laurie Taylor who drove most of the process here at 
UF:

The University of Florida handles all software and licensing, open source and 
otherwise, through the Office of Technology Licensing. The official process is 
there for legal compliance, to ensure the correct open source licenses are used 
as is required when components are already open source and released under viral 
licenses. The official statements on policy for this aren't super clear from 
the outside. Our open source software releases state what open source license 
(https://code.google.com/p/sobekcm/ and http://ufdc.ufl.edu/software/download) 
but don't link people back to the main policy pages, which are complex.

As we do more with data/digital curation and more data and software in our 
repository (http://ufdc.ufl.edu/), we've started talking with the Office of 
Technology Licensing (OTL) about doing new trainings and workshops for UF 
researchers who are releasing their data sets, digital materials, and open 
source software to parse, visualize, and otherwise interpret the raw materials. 
We're looking into how to best do combined trainings to fit the OTL concerns 
and support researchers with the least amount of additional work and confusion 
over complex policies.

Cheers!

Mark Sullivan / UF Libraries



From: Code for Libraries [CODE4LIB@LISTSERV.ND.EDU] on behalf of Doran, Michael 
D [do...@uta.edu]
Sent: Tuesday, May 28, 2013 3:37 PM
To: CODE4LIB@LISTSERV.ND.EDU
Subject: Re: [CODE4LIB] Open Source release policies

Hi David,

 If you work at an organization that releases open source software that
 your staff coders develop, I would be interested in reading your policy
 on that,

I did a presentation on that general topic at Code4lib 2007:

The Intellectual Property Disclosure Process:
Releasing Open Source Software in Academia
http://code4lib.org/2007/doran

...and have some additional info on this page:

http://rocky.uta.edu/doran/ip/

-- Michael

# Michael Doran, Systems Librarian
# University of Texas at Arlington
# 817-272-5326 office
# 817-688-1926 mobile
# do...@uta.edu
# http://rocky.uta.edu/doran/




 -Original Message-
 From: Code for Libraries [mailto:CODE4LIB@LISTSERV.ND.EDU] On Behalf Of
 David Lowe
 Sent: Tuesday, May 28, 2013 11:40 AM
 To: CODE4LIB@LISTSERV.ND.EDU
 Subject: [CODE4LIB] Open Source release policies

 All-
 If you work at an organization that releases open source software that
 your staff coders develop, I would be interested in reading your policy
 on that, if you have one written up that you can share, or otherwise in
 hearing your common practice, if that's not too much trouble. On or off
 list as your preference would have it.

  I've located the following so far:
 UCSD
 https://confluence.crbs.ucsd.edu/display/CRBS/Releasing+Open+Source+Soft
 ware+at+UCSD

 Stanford
 http://otl.stanford.edu/inventors/resources/inventors_opensource.html

 Texas
 http://www.utexas.edu/cio/policies/pdfs/Procedure%20for%20Releasing%20So
 ftware%20as%20Open%20Source%20or%20Contributing%20Software%20to%20Existi
 ng%20Projects%20Licensed%20Under%20the%20GNU%20General%20Public%20Licens
 e.pdf

 Austrailian Computer Society
 http://people.oregonstate.edu/~alhasheh/ose/sources/OpenSourcePolicy.pdf

 Much obliged,
 --DBL


Re: [CODE4LIB] human rights violations elibrary for Haiti/France

2013-02-25 Thread Sullivan, Mark V
Another option would be hosting in a larger, free consortium, such as the 
Digital Library of the Caribbean (for which I am the developer) which already 
supports a lot of content on Haiti.  We have an agreement with the Law Library 
Microfilm Consortium to host much of the Haitian legal history through this 
portal as well.

http://www.dloc.com

Mark / UF
352-682-9692
mars...@uflib.ufl.edu



From: Code for Libraries [CODE4LIB@LISTSERV.ND.EDU] on behalf of Lisa Schiff 
[lisa.sch...@ucop.edu]
Sent: Monday, February 25, 2013 3:22 PM
To: CODE4LIB@LISTSERV.ND.EDU
Subject: Re: [CODE4LIB] human rights violations elibrary for Haiti/France

If they want to get something up quickly, XTF might be a good starting point, 
especially since the 3.0 release comes with globalization support for having 
multiple languages in the UI, so that users can choose with language to see in 
the UI.

http://xtf.cdlib.org/2011/04/xtf-3-0-released/

Lisa

---
Lisa Schiff, Ph.D.
Technical Lead
Access  Publishing Group
California Digital Library
University of California
Office of the President
415 20th Street, 4th Floor
Oakland, CA 94612-2901
510-987-0881 (t) 510-893-5212 (f)
http://orcid.org/-0002-3572-2981

Follow eScholarship on Facebook and Twitter




-Original Message-
From: Code for Libraries [mailto:CODE4LIB@LISTSERV.ND.EDU] On Behalf Of Jason 
Raitz
Sent: Monday, February 25, 2013 11:13 AM
To: CODE4LIB@LISTSERV.ND.EDU
Subject: [CODE4LIB] human rights violations elibrary for Haiti/France

Hi,
I've just been contacted out of the blue by someone working with a joint 
Haitian/French human rights organization that needs to create a searchable, 
bilingual elibrary on human rights violations in Haiti.  They've secured 
hosting in America for various reasons and they have a few thousand or more 
documents to store, index and make available.  The lady I talked to had an 
interest in using facets and storing the documents in a MySQL db.  I briefly 
suggested that Solr and Blacklight might be where they're heading.
I also suggested that she might be able to get more help from an I-school like 
my alma mater, UNC-SILS.

If anyone would like to assist her or has some ideas or experience with such 
things, her email is reneeasteria [at] gmail [dot] com.

She didn't tell me much more beyond this.  I believe that she doesn't consider 
herself a programmer (I bet we would consider her a coder :-) ), she's been 
working with statistical software for a number of years, and that she is able 
to learn what's necessary.

I'm not sure of any protocols, but I went ahead and CC'd Renee on this message.

Cheers,
Jason Raitz
NCSU Libraries


[CODE4LIB] Sample METS files

2013-02-22 Thread Sullivan, Mark V
All,

I am working on expanding the currently functionality of the open-source 
SobekCM METS Editor ( http://ufdc.ufl.edu/metseditor , 
http://sourceforge.net/projects/metseditor/ ) to allow it to be both more 
extensible for various unforeseen metadata formats, and to analyze division and 
file level dmdSec's and amdSec's.

Is there an existing repository of a large variety of METS files available 
somewhere for testing against?  If anyone knows, please respond to this thread.

If you are willing to share a couple METS files for my testing, I would be most 
appreciative.  Please send any METS files directly to me ( 
mars...@uflib.ufl.edu ) and indicate if you would be willing to add it to a 
METS repository for testing purposes, assuming we don't find one already exists.

Thank you all in advance,

Mark / UF


Re: [CODE4LIB] Sample METS files

2013-02-22 Thread Sullivan, Mark V
Ah!  Thanks, Tom.

The first one I clicked on was wicked interesting.  ;)

-Original Message-
From: Code for Libraries [mailto:CODE4LIB@LISTSERV.ND.EDU] On Behalf Of Habing, 
Thomas Gerald
Sent: Friday, February 22, 2013 9:54 AM
To: CODE4LIB@LISTSERV.ND.EDU
Subject: Re: [CODE4LIB] Sample METS files

The METS Registered Profiles, 
http://www.loc.gov/standards/mets/mets-registered-profiles.html, are required 
to have at least one sample METS document in their appendices.  It's a little 
extra work to extract the METS files from the profiles, but these should give 
you a large variety of different METS documents with which to work.

Regards,
Tom

 -Original Message-
 From: Code for Libraries [mailto:CODE4LIB@LISTSERV.ND.EDU] On Behalf 
 Of Sullivan, Mark V
 Sent: Friday, February 22, 2013 7:11 AM
 To: CODE4LIB@LISTSERV.ND.EDU
 Subject: [CODE4LIB] Sample METS files
 
 All,
 
 I am working on expanding the currently functionality of the 
 open-source SobekCM METS Editor ( http://ufdc.ufl.edu/metseditor , 
 http://sourceforge.net/projects/metseditor/ ) to allow it to be both 
 more extensible for various unforeseen metadata formats, and to 
 analyze division and file level dmdSec's and amdSec's.
 
 Is there an existing repository of a large variety of METS files 
 available somewhere for testing against?  If anyone knows, please 
 respond to this thread.
 
 If you are willing to share a couple METS files for my testing, I 
 would be most appreciative.  Please send any METS files directly to me 
 ( mars...@uflib.ufl.edu ) and indicate if you would be willing to add 
 it to a METS repository for testing purposes, assuming we don't find 
 one already exists.
 
 Thank you all in advance,
 
 Mark / UF


Re: [CODE4LIB] You are a *pedantic* coder. So what am I?

2013-02-21 Thread Sullivan, Mark V
I was just curious, so I threw the same thing into C#.

class Foo
{
public static void sayHello()
{
hi();
}

public static void hi()
{
Console.WriteLine(Hi from foo);
}
}

class Bar : Foo
{
public static void sayHello2()
{
hi();
}

public static new void hi()
{
Console.WriteLine(Hi from bar);
}
}

class Program
{
static void Main(string[] args)
{
Bar.sayHello();
Bar.sayHello2();
Console.ReadLine();
}
}

Result is similar:
Hi from foo
Hi from bar.

The C# compiler actually throws an error if you try to make a static class 
extend another class.  ( i.e., static class Bar : Foo ).

Static references are really a nice way to get around OO in the first place 
though.  Of course I use them as well, when I want to introduce more procedural 
type methods into my code, or when I truly need something at the CLASS level, 
rather than the OBJECT level.  Although using static methods can occasionally 
provide very small performance boosts, I would guess static methods also 
reduces the ability to use reflection to examine code introduced or created 
during runtime.

That said, it's hard for me to get too excited about the lack of the ability 
for a static class to extend another static class and throw strongly typed 
classes out the window for Javascript's hash implementation.  And I have spent 
a lot of time trying to get Javascript to feel more object-oriented, copying a 
child classes hash from the parent and then adding new items (happen to be 
functions) to it and using Prototype as well.

Either way, there are different models for everyone and perhaps every project.  

But, I did learn something about Java (and then C#) from this thread.

Mark / UF



-Original Message-
From: Code for Libraries [mailto:CODE4LIB@LISTSERV.ND.EDU] On Behalf Of 
Benjamin Armintor
Sent: Thursday, February 21, 2013 1:22 PM
To: CODE4LIB@LISTSERV.ND.EDU
Subject: Re: [CODE4LIB] You are a *pedantic* coder. So what am I?

If this thread is just code nerdery: You can't override static methods in Java. 
 It looks like you can because there's a generous search for statically bound 
names (if B extends A, and A defines static a(), B.a() works), but it's not the 
overriding mechanism because if you try to refer to super in an overriding 
implementation, the compiler stops you (it's not bound).  This also suggests 
that classes are not objects, but that the reflection API cheats a little to  
make them appear to be so.

I always thought Javascript both had primitives and was more functional than 
OO, given the Prototype inheritance stuff, the fact that objects are really 
hashes, and the fact that constructors are functions.  Ruby, though:
totally OO. Except when it's not.

- Ben


On Thu, Feb 21, 2013 at 1:00 PM, Adam Wead aw...@rockhall.org wrote:

 Actually, I'm finding this thread very enlightening.  I've only had a 
 little java experience, but always assumed it was the 
 ur-implementation of OO principles.  Now, I've had that assumption corrected.

 Thanks,

 ...adam


 On Feb 21, 2013, at 12:53 PM, Ian Walls iwa...@library.umass.edu wrote:

  Agreed.  Each language has its own strengths and weaknesses.  Pick 
  the
 one that works best for your situation, factoring in not only what the 
 application needs to do, but your and your team's level of experience, 
 and the overall community context in which the project will live.  The 
 peculiarities of a given languages truth tables, for example, can 
 easily get washed out of the calculation when you consider what 
 languages you know and what platforms your institution supports.
 
 
  -Ian
 
  -Original Message-
  From: Code for Libraries [mailto:CODE4LIB@LISTSERV.ND.EDU] On Behalf 
  Of
 Ethan Gruber
  Sent: Thursday, February 21, 2013 12:45 PM
  To: CODE4LIB@LISTSERV.ND.EDU
  Subject: Re: [CODE4LIB] You are a *pedantic* coder. So what am I?
 
  Look, I'm sure we can list the many ways different languages fail to
 meet our expectations, but is this really a constructive line of 
 conversation?
 
  -1
 
 
  On Thu, Feb 21, 2013 at 12:40 PM, Justin Coyne
  jus...@curationexperts.comwrote:
 
  I did misspeak a bit.  You can override static methods in Java.  My 
  major issue is that there is no getClass() within a static 
  method, so when the static method is being run in the context of 
  the inheriting class it is unaware of its own run context.
 
  For example: I want the output to be Hi from bar, but it's Hi 
  from
 foo:
 
  class Foo {
   public static void sayHello() {
 hi();
   }
   public static void hi() {
 System.out.println(Hi from foo);  } }
 
  class Bar extends Foo {
 
   public static void hi() {
 System.out.println(Hi from bar);  } }
 
  class Test {
   public static void main(String [ ] args) {
 Bar.sayHello();
 

Re: [CODE4LIB] You *are* a coder. So what am I?

2013-02-18 Thread Sullivan, Mark V
Not to be too pragmatic about it, but it is worth noting which languages are 
used in the wilds beyond the confines of our libraries.

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

I know everyone has their own style, but I would push newbies towards 
object-oriented languages, such as C# or Java first.  Working in an enforced 
object-oriented programming [OOP] environment seems like an excellent first 
step.  Moving from either of those languages to Ruby (which is more compatible 
with procedural programming) is quite simple then.  

Clearly I am preaching from the pulpit of OOP though.

Mark / UF


-Original Message-
From: Code for Libraries [mailto:CODE4LIB@LISTSERV.ND.EDU] On Behalf Of John 
Fereira
Sent: Monday, February 18, 2013 1:17 PM
To: CODE4LIB@LISTSERV.ND.EDU
Subject: Re: [CODE4LIB] You *are* a coder. So what am I?

-Original Message-
From: Code for Libraries [mailto:CODE4LIB@LISTSERV.ND.EDU] On Behalf Of Joe 
Hourcle
Sent: Monday, February 18, 2013 12:37 PM
To: CODE4LIB@LISTSERV.ND.EDU
Subject: Re: [CODE4LIB] You *are* a coder. So what am I?

On Feb 18, 2013, at 11:17 AM, John Fereira wrote:

 I suggested PHP primarily because I find it easy to read and understand and 
 that's it's very commonly used.  Both Drupal and Wordpress are written in 
 PHP and if we're talking about building web pages there are a lot of sites 
 that use one of those as a CMS.

 And if you're forced to maintain one of those, then by all means, learn PHP 
 ... but please don't recommend that anyone learn it as a first language.

And the reason that I suggested PHP is that one is more likely going to be 
*forced* to learn PHP because it's so much more commonly used than something 
like Haskell, or R, or even Python.

 



 I've looked at both good and bad perl code, some written some very 
 accomplished software developers, and I still don't like it.   I am not 
 personally interested in learning to make web pages (I've been making them 
 for 20 years) and have mostly dabbled in Ruby but suspect that I'll be doing 
 a lot more programming in Ruby (and will be attending the LibDevConX workshop 
 at Stanford next month where I'm sure we'll be discussing Hydra).   I'm also 
 somewhat familiar with Python but I just haven't found that many people are 
 using it in my institution (where I've worked for the past 15 years) to spend 
 any time learning more about it.  If you're going to suggest mainstream 
 languages I'm not sure how you can omit Java (though just mentioning the word 
 seems to scare people).

 It's *really* easy to omit Java:

   http://www.recursivity.com/blog/2012/10/28/ides-are-a-language-smell/

I generally take articles like that with a large heaping of salt when it's 
fairly obvious that someone is biased against a specific language but that 
article seems to be more about using an IDE than using Java.  In any case, I 
really didn't start using an IDE (I wrote all my code using a unix text editor) 
until several years after I learned Java.

You might as well ask why I didn't suggest C or assembler for beginners.  
That's not to say that I haven't learned things from programming in those 
languages (and I've even applied tricks from Fortran and IDL in other 
languages), but I wouldn't recommend any of those languages to someone who's 
just learning to  program.

I remember when Pascal used to be the language of choice (actually, I remember 
when it was Basic) as an instructional programming language, but I cut my 
programming teeth using assembly language (more like the raw octal 
representation) and Fortran before I learned C.  

-Joe

 (ps. I'm grumpier than usual today, as I've been trying to get hpn patched 
 openssh to compile under centos 6 ... so that it can be called by a java 
 daemon  that is called by another C program that dynamically generates python 
 and shell scripts ... and executes them but doesn't always check the exit 
 status ... this is one of those times when I wish some people hadn't learned 
 to program, so they'd just hire someone else to write it)

I feel your pain.  I've had plenty of days like that as well.


Re: [CODE4LIB] Comparison of JavaScript 'data grids'?

2013-02-14 Thread Sullivan, Mark V
Joe,

I have been very happy working with http://www.datatables.net/.

You are going to have to answer many of those questions yourself, but this 
jquery datatable plug-in allows a variety of data sources and has MANY 
extensions, so it should work for you.

Very simple to use and extensible.

If you perform the level of research into even a single option, share it with 
the list.

Cheers!

Mark / UF


From: Code for Libraries [CODE4LIB@LISTSERV.ND.EDU] on behalf of Joe Hourcle 
[onei...@grace.nascom.nasa.gov]
Sent: Thursday, February 14, 2013 11:44 AM
To: CODE4LIB@LISTSERV.ND.EDU
Subject: Re: [CODE4LIB] Comparison of JavaScript 'data grids'?

On Thu, 14 Feb 2013, Cary Gordon wrote:

 I have used Flexigrid, but there are several choices, and one of the
 others might better suit your needs.

 I have informally tiered them but my (based on very little) perception
 of their popularity.

 Flexigrid: http://flexigrid.info/

 Ingrid: http://reconstrukt.com/ingrid/
 jQuery Grid: http://github.com/tonytomov/jqGrid

 jqGridView: http://plugins.jquery.com/project/jqGridView
 SlickGrid: http://github.com/mleibman/SlickGrid
 DataTables: http://www.datatables.net/index
 jTable: http://www.jtable.org/

Thanks for the effort, That's the sort of thing that I *don't* need.

I'm concerned about what features they have, and which browsers they
support.

For instance:
How can you feed data into it?
HTML tables (progressive enhancement)
XML
JSOC
some other API
Can it cache data locally, and if so, how?
localStorage
webDB
indexedDB
How is it licensed?
commercial
BSD
GPLv2
GPLv3
LGPL

Does it do sorting / filtering / pagination locally, or does it
require a server component?

Can you extend the datatypes? (to support abnormal sorting)

Can you specify a function for rendering?
(eg, show negative numbers in red, wrapped in parens;
display alternate info when null)

Does it support ...
tree views?
dynamic groupings?
column re-ordering?
automatic table sizing (to fill the view)?
shift-clicking ranges of records?
alt/ctrl-clicking multiple records?
selecting checkboxes (so the table's a form input)
adding new rows?
hiding columns?
infinate scrolling?
editing of cells?
adding / deleting records?

Does it meet Section 508 requirements?

What's the realistic maximum for:
number of columns
number of rows displayed
number of records total (including not displayed)

... and the list goes on ... that's just some of the significant
discriminators I've noticed when looking at the different implementations.

-Joe




 On Thu, Feb 14, 2013 at 9:48 AM, Joe Hourcle
 onei...@grace.nascom.nasa.gov wrote:
 A couple of weeks ago, I posted to Stack Exchange's 'Webmasters' site, 
 asking if there were any good feature comparisons of different Javascript 
 'data grid' implementations.*

 The response has been ... lacking, to put it mildly:**

 http://webmasters.stackexchange.com/q/42847/22457

 I can find all sorts of comparisons of databases, javascript frameworks, web 
 browsers, etc ... but I just haven't been able to find anything on tabular 
 data presentation other than the sort of 'top 10 list'-type stuff that 
 doesn't go into detail about why you might select one over another.

 Is anyone aware of such a comparison, or should I just put something 
 half-assed up on wikipedia in hopes that the different implementations will 
 fill it in?

 -Joe

 * ie, the ones that let you play with tabular data ... not the 'grid' stuff 
 that the web designers use for layout, nor the 'data grid' stuff that the 
 comp.sci  scientific community use for distributed data storage.

 ** maybe I should've just asked on Stack Overflow, rather than post to the 
 correct topical place



 --
 Cary Gordon
 The Cherry Hill Company
 http://chillco.com



Re: [CODE4LIB] digital collections sitemaps

2013-02-01 Thread Sullivan, Mark V
Jason,

You may want to allow people just to give you the robots.txt file which 
references the sitemap.  I also register the sitemaps individually with the big 
search engines for our site, but I found that very large sitemaps aren't 
processed very well.  So, for our site I think I limited the number of items 
per sitemap to 40,000.  Which results in ten sitemaps for the digital objects 
and an additional sitemap for all the collections.

http://ufdc.ufl.edu/robots.txt

Or else perhaps give more boxes, so we can include all the sitemaps utilized in 
our systems.

Cheers!

Mark


Mark V Sullivan
Digital Development and Web Coordinator
Technology and Support Services
University of Florida Libraries
352-273-2907 (office)
352-682-9692 (mobile)
mars...@uflib.ufl.edu




From: Code for Libraries [CODE4LIB@LISTSERV.ND.EDU] on behalf of Jason Ronallo 
[jrona...@gmail.com]
Sent: Friday, February 01, 2013 11:14 AM
To: CODE4LIB@LISTSERV.ND.EDU
Subject: [CODE4LIB] digital collections sitemaps

Hi,

I've seen registries for digital collections that make their metadata
available through OAI-PMH, but I have yet to see a listing of digital
collections that just make their resources available on the Web the
way the Web works [1]. Sitemaps are the main mechanism for listing Web
resources for automated crawlers [2]. Knowing about all of these
various sitemaps could have many uses for research and improving the
discoverability of digital collections on the open Web [3].

So I thought I'd put up a quick form to start collecting digital
collections sitemaps. One required field for the sitemap itself.
Please take a few seconds to add any digital collections sitemaps you
know about--they don't necessarily have to be yours.

https://docs.google.com/spreadsheet/viewform?formkey=dE1JMDRIcXJMSzJ0YVlRaWdtVnhLcmc6MQ#gid=0

At this point I'll make the data available to anyone that asks for it.

Thank you,

Jason

[1] At least I don't recall seeing such a sitemap registry site or
service. If you know of an existing registry of digital collections
sitemaps, please let me know about it!
[2] http://www.sitemaps.org/ For more information on robots see
http://wiki.code4lib.org/index.php/Robots_Are_Our_Friends
[3] For instance you can see how I've started to investigate whether
digital collections are being crawled by the Common Crawl:
http://jronallo.github.com/blog/common-crawl-url-index/


[CODE4LIB] Job : Digital Development / Application Developer

2012-07-02 Thread Sullivan, Mark V
University of Florida Libraries' Information Technology Department, in 
partnership with the UF Digital Library Center, invite applicants to apply for 
the Digital Development / Application Developer position.  This application 
development position focuses on support for Digital Library workflow and 
presentation of digital resources with an emphasis on C# / ASP.net programming 
with Microsoft SQL backends.



https://jobs.ufl.edu/postings/30869



The Libraries’ Information Technology department serves as the focal point for 
planning, managing and coordinating computer based information resources that 
support library operations. The Libraries’ Information Technology department 
manages servers that support 800 workstations used by 270 staff with over 6 
million on-site and virtual visitors a year to the Libraries.



As a member of the Digital Development unit, this employee performs duties 
related to the creation and support of software applications for Digital 
Services and develops both web and desktop software applications. This includes 
software to assist in internal business operations and to assist our patrons to 
make full use of library resources. This employee gathers requirements, 
develops applications, and provides support for digital services and 
applications.



Job Duties:

Perform analysis and programming to develop, document, and maintain computer 
software programs as needed by Digital Services and other library units as 
appropriate. The primary emphasis will be on web and database systems which 
effectively deliver digital resources, track resource usage during 
digitization, and facilitate the compilation of analytical data (collection 
profiles and management information).



Design, implement and maintain all relational database components (tables, SQL 
stored procedures, etc.) necessary for effective data presentation and with 
respect to product tracking and system security.



Monitor and advise on quality control for data, meta-data and indexing with 
regard to Digital Services data workflow. Provide staff training when required.



Liaise between Digital Services, state entities, and external partners. 
Coordinate on delivery interfaces which meet the needs of the various 
organizations with regard to available technologies and research.


Mark V Sullivan
Digital Development and Web Coordinator
Technology and Support Services
University of Florida Libraries
352-273-2907 (office)
352-682-9692 (mobile)
mars...@uflib.ufl.edumailto:mars...@uflib.ufl.edu


[CODE4LIB] Leader in MarcXML Files ( Record Length )

2012-06-29 Thread Sullivan, Mark V
All,



I received a question regarding a software library I have created and released 
as open source.  The record length in the leader ( positions 0-4 ) was not 
being calculated correctly when writing as MarcXML.  However, this raises a 
more philosophical and larger question.  What is the point of the first five 
digits of the leader, outside of a ISO2709 / MARC21 encoded record?   Should I 
calculate the record length AS IF it would be encoded in ISO2709? This would be 
computationally non-trivial and would likely double the time necessary for my 
software to write a MarcXML file. Should I just make the first five digits of 
the leader '0', since it means nothing in the context of a MarcXML file?



Has anyone else pondered this question or have any input on how current systems 
work?



Keep in mind I could be writing a MarcXML record for a record created or 
modified in memory, so just using a pre-existing record length is not an option.



Many thanks for your consideration.


Mark V Sullivan
Digital Development and Web Coordinator
Technology and Support Services
University of Florida Libraries
352-273-2907 (office)
352-682-9692 (mobile)
mars...@uflib.ufl.edumailto:mars...@uflib.ufl.edu


Re: [CODE4LIB] Leader in MarcXML Files ( Record Length )

2012-06-29 Thread Sullivan, Mark V
Thank you all for chiming in.  I will adopt the solution of printing zeros by 
default, but I will retain the record length from an original MARC21 file, 
assuming the record was actually read from a MARC21 record and no changes have 
occurred in memory since.

Thanks again!

Mark V Sullivan 
Digital Development and Web Coordinator
Technology and Support Services
University of Florida Libraries
352-273-2907 (office)
352-682-9692 (mobile)
mars...@uflib.ufl.edu



From: Code for Libraries [CODE4LIB@LISTSERV.ND.EDU] on behalf of Reese, Terry 
[terry.re...@oregonstate.edu]
Sent: Friday, June 29, 2012 10:14 AM
To: CODE4LIB@LISTSERV.ND.EDU
Subject: Re: [CODE4LIB] Leader in MarcXML Files ( Record Length )

If im writing marcxml from scratch, I agree.  If I'm converting it from marc, i 
print out the length value from the record more for historical purposes.

Tr

*
Terry Reese, Associate Professor
Gray Family Chair for
Innovative Library Services
121 Valley Library
Corvallis, OR 97331
541.737.6384


From: Devon
Sent: 6/29/2012 7:09 AM
To: CODE4LIB@LISTSERV.ND.EDU
Subject: Re: [CODE4LIB] Leader in MarcXML Files ( Record Length )

When writing MARC XML, you should use zeros. The following document
[1] says you can use blanks, but the schema [2] uses a pattern that
indicates digits should be used. When reading MARC XML, you should
just ignore whatever is in those positions.

[1] http://www.loc.gov/standards/marcxml/marcxml-design.html
[2] http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd

/dev

On Fri, Jun 29, 2012 at 9:51 AM, Sullivan, Mark V mars...@uflib.ufl.edu wrote:
 All,



 I received a question regarding a software library I have created and 
 released as open source.  The record length in the leader ( positions 0-4 ) 
 was not being calculated correctly when writing as MarcXML.  However, this 
 raises a more philosophical and larger question.  What is the point of the 
 first five digits of the leader, outside of a ISO2709 / MARC21 encoded 
 record?   Should I calculate the record length AS IF it would be encoded in 
 ISO2709? This would be computationally non-trivial and would likely double 
 the time necessary for my software to write a MarcXML file. Should I just 
 make the first five digits of the leader '0', since it means nothing in 
 the context of a MarcXML file?



 Has anyone else pondered this question or have any input on how current 
 systems work?



 Keep in mind I could be writing a MarcXML record for a record created or 
 modified in memory, so just using a pre-existing record length is not an 
 option.



 Many thanks for your consideration.


 Mark V Sullivan
 Digital Development and Web Coordinator
 Technology and Support Services
 University of Florida Libraries
 352-273-2907 (office)
 352-682-9692 (mobile)
 mars...@uflib.ufl.edumailto:mars...@uflib.ufl.edu



--
Sent from my GMail account.