Mark Sullivan, the UFDC/DLC/dLOC programmer, recently shared this information. It’s exciting to see that SobekCM (our digital asset management system, digital library system, and digital production tool set) is such a streamlined solution with so much functionality. There are seven projects which make up the SobekCM solution. In those projects, there are:
113,643 lines of code ( not comments or empty lines )
23,452 lines of comments
544 classes ( 55 abstract classes, 1 windows form, 5 ASPX pages )
The main two projects are:
1) SobekCM_Bib_Package which has all the code to represent digital objects, read metadata, write metadata, etc.. This is used throughout all the DLC/UFDC/dLOC applications.
36,554 lines of code
5,796 lines of comments
165 classes ( 3 abstract classes, 1 windows form )
2) SobekCM_Library which does all the rendering, navigation, authentication, etc for the SobekCM library. This relies heavily upon the above library for reading and displaying of digital resources and is utilized by both the builder and the customization manager.
68,803 lines of code
13,825 lines of comments
328 classes ( 52 abstract classes )
3) While the main SobekCM web project is not strictly a library, it is the third project in the SobekCM solution. It is the first project which a user interacts with when entering the library. This project is actually very small, containing only about 1300 .NET lines. It does house the five web forms used in the application, although these forms are quite small and are just basically skeletons into which the SobekCM_Library renders HTML or controls.
4) SobekCM_URL_Rewriter is a tiny library which is essentially just a HttpModule for rewriting and translating the URL to allow for cleaner URLs.
5) SobekCM_Tools is a small library ( about 4000 code lines ) which contains additional classes for logging, interacting with the tracking database, and interacting with the Florida Dark Archive (DAITSS). This is kept seperate from the general library since this is not strictly involved in rendering the HTML but is used by some modules and is used with the SobekCM_Library and SobekCM_Builder libraries for building collection text indexes and loading new items through the Builder.
7) SobekCM_Builder. In addition to these libraries/projects used by the digital library, this library is employed (along with the SobekCM_Bib_Package, SobekCM_Library, and SobekCM_Tools) for the builder software which runs constantly in the background on another server, loading new items which are deposited into network folders or FTP folder. It also updates and builds all static pages, OAI feeds, RSS feeds, and builds the text indexes. Additionally, it reads and loads all of the FDA ingest reports from DAITSS.
6793 lines of code
858 lines of comments