SlideShare a Scribd company logo
eMuseum Customization
Danish Arts
Pushing the limits of eMuseum and how to do it.
 Alex Hoffman
 Gallery Systems
Key Features
•   Filtering and Sorting
•   Slideshow
•   Masonry Layout
•   Infinite scrolling
•   Maps and Geo
    Location
•   Advanced Search
•   Social Media
•   Relations
•   Web Services
The New Age of

WEB SERVICES
what’s a web service…?
“A web service is a method of
communication between two
electronic devices over the World
Wide Web. A web service is a
software function provided at a
network address over the web or
the cloud, it is a service that is
"always on" as in the concept of
utility computing.”
Web Services

             Requesting
               data




Molding it
  to be
useful for
   YOU

                   Retrieving it and
                    displaying it on
                       the page
Requesting Data
Requesting data
Requesting data
List/Grid View XML
List/Grid View JSON
Alex Hoffman
Web Developer, Project Manager
Gallery Systems
alex@gallerysystems.com

More Related Content

Similar to eMuseum Customization at the Danish Arts Agency

Lego bricks of cloud applications
Lego bricks of cloud applicationsLego bricks of cloud applications
Lego bricks of cloud applications
Ahmed Soliman
 
Introduction to Neo4j for the Emirates & Bahrain
Introduction to Neo4j for the Emirates & BahrainIntroduction to Neo4j for the Emirates & Bahrain
Introduction to Neo4j for the Emirates & Bahrain
Neo4j
 
Towards a Web of Services
Towards a Web of ServicesTowards a Web of Services
Towards a Web of Services
Carlos Pedrinaci
 
The Cloud and Microsoft Windows Azure - A Walk through the clouds
The Cloud and Microsoft Windows Azure - A Walk through the cloudsThe Cloud and Microsoft Windows Azure - A Walk through the clouds
The Cloud and Microsoft Windows Azure - A Walk through the clouds
Mark Rodseth
 
MRA AMA Part 6: Service Mesh Models
MRA AMA Part 6: Service Mesh ModelsMRA AMA Part 6: Service Mesh Models
MRA AMA Part 6: Service Mesh Models
NGINX, Inc.
 
Visualizing NoSQL databases as networks
Visualizing NoSQL databases as networksVisualizing NoSQL databases as networks
Visualizing NoSQL databases as networks
Cambridge Intelligence
 
Dragana - Presentation
Dragana - PresentationDragana - Presentation
Dragana - Presentation
Dragana Anceva
 
Buzzr: A "Cloud" Platform for Creating and Maintaining Websites
Buzzr: A "Cloud" Platform for Creating and Maintaining WebsitesBuzzr: A "Cloud" Platform for Creating and Maintaining Websites
Buzzr: A "Cloud" Platform for Creating and Maintaining Websites
Ed Sussman
 
Concurrency at Scale: Evolution to Micro-Services
Concurrency at Scale:  Evolution to Micro-ServicesConcurrency at Scale:  Evolution to Micro-Services
Concurrency at Scale: Evolution to Micro-Services
Randy Shoup
 
Rich services to the Rescue
Rich services to the RescueRich services to the Rescue
Rich services to the Rescue
bdemchak
 
Web Services Foundation Technologies
Web Services Foundation TechnologiesWeb Services Foundation Technologies
Web Services Foundation Technologies
Pankaj Saharan
 
Wisconsin SCO Virtual Data Integration
Wisconsin SCO Virtual Data IntegrationWisconsin SCO Virtual Data Integration
Wisconsin SCO Virtual Data Integration
Wisconsin Land Information Association
 
Cloud Computing
Cloud ComputingCloud Computing
New XAML/UWP features in Windows 10 Fall Creators Update
New XAML/UWP features in Windows 10 Fall Creators UpdateNew XAML/UWP features in Windows 10 Fall Creators Update
New XAML/UWP features in Windows 10 Fall Creators Update
Fons Sonnemans
 
3 web services bb
3   web services bb3   web services bb
3 web services bb
Shahid Riaz
 
Introduction to AWS (2020)
Introduction to AWS (2020)Introduction to AWS (2020)
Introduction to AWS (2020)
John Dalziel
 
Networked 3-D Virtual Collaboration in Science and Education: Towards 'Web 3....
Networked 3-D Virtual Collaboration in Science and Education: Towards 'Web 3....Networked 3-D Virtual Collaboration in Science and Education: Towards 'Web 3....
Networked 3-D Virtual Collaboration in Science and Education: Towards 'Web 3....
Distinguished Lecturer Series - Leon The Mathematician
 
Publish Responsive Applications In No Time!
Publish Responsive Applications In No Time!Publish Responsive Applications In No Time!
Publish Responsive Applications In No Time!
More Software Solutions
 
Android a scalable server architecture for mobile presence services in socia...
Android  a scalable server architecture for mobile presence services in socia...Android  a scalable server architecture for mobile presence services in socia...
Android a scalable server architecture for mobile presence services in socia...
Ecway2004
 
A scalable server architecture for mobile presence services in social network...
A scalable server architecture for mobile presence services in social network...A scalable server architecture for mobile presence services in social network...
A scalable server architecture for mobile presence services in social network...
Ecwaytech
 

Similar to eMuseum Customization at the Danish Arts Agency (20)

Lego bricks of cloud applications
Lego bricks of cloud applicationsLego bricks of cloud applications
Lego bricks of cloud applications
 
Introduction to Neo4j for the Emirates & Bahrain
Introduction to Neo4j for the Emirates & BahrainIntroduction to Neo4j for the Emirates & Bahrain
Introduction to Neo4j for the Emirates & Bahrain
 
Towards a Web of Services
Towards a Web of ServicesTowards a Web of Services
Towards a Web of Services
 
The Cloud and Microsoft Windows Azure - A Walk through the clouds
The Cloud and Microsoft Windows Azure - A Walk through the cloudsThe Cloud and Microsoft Windows Azure - A Walk through the clouds
The Cloud and Microsoft Windows Azure - A Walk through the clouds
 
MRA AMA Part 6: Service Mesh Models
MRA AMA Part 6: Service Mesh ModelsMRA AMA Part 6: Service Mesh Models
MRA AMA Part 6: Service Mesh Models
 
Visualizing NoSQL databases as networks
Visualizing NoSQL databases as networksVisualizing NoSQL databases as networks
Visualizing NoSQL databases as networks
 
Dragana - Presentation
Dragana - PresentationDragana - Presentation
Dragana - Presentation
 
Buzzr: A "Cloud" Platform for Creating and Maintaining Websites
Buzzr: A "Cloud" Platform for Creating and Maintaining WebsitesBuzzr: A "Cloud" Platform for Creating and Maintaining Websites
Buzzr: A "Cloud" Platform for Creating and Maintaining Websites
 
Concurrency at Scale: Evolution to Micro-Services
Concurrency at Scale:  Evolution to Micro-ServicesConcurrency at Scale:  Evolution to Micro-Services
Concurrency at Scale: Evolution to Micro-Services
 
Rich services to the Rescue
Rich services to the RescueRich services to the Rescue
Rich services to the Rescue
 
Web Services Foundation Technologies
Web Services Foundation TechnologiesWeb Services Foundation Technologies
Web Services Foundation Technologies
 
Wisconsin SCO Virtual Data Integration
Wisconsin SCO Virtual Data IntegrationWisconsin SCO Virtual Data Integration
Wisconsin SCO Virtual Data Integration
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
New XAML/UWP features in Windows 10 Fall Creators Update
New XAML/UWP features in Windows 10 Fall Creators UpdateNew XAML/UWP features in Windows 10 Fall Creators Update
New XAML/UWP features in Windows 10 Fall Creators Update
 
3 web services bb
3   web services bb3   web services bb
3 web services bb
 
Introduction to AWS (2020)
Introduction to AWS (2020)Introduction to AWS (2020)
Introduction to AWS (2020)
 
Networked 3-D Virtual Collaboration in Science and Education: Towards 'Web 3....
Networked 3-D Virtual Collaboration in Science and Education: Towards 'Web 3....Networked 3-D Virtual Collaboration in Science and Education: Towards 'Web 3....
Networked 3-D Virtual Collaboration in Science and Education: Towards 'Web 3....
 
Publish Responsive Applications In No Time!
Publish Responsive Applications In No Time!Publish Responsive Applications In No Time!
Publish Responsive Applications In No Time!
 
Android a scalable server architecture for mobile presence services in socia...
Android  a scalable server architecture for mobile presence services in socia...Android  a scalable server architecture for mobile presence services in socia...
Android a scalable server architecture for mobile presence services in socia...
 
A scalable server architecture for mobile presence services in social network...
A scalable server architecture for mobile presence services in social network...A scalable server architecture for mobile presence services in social network...
A scalable server architecture for mobile presence services in social network...
 

More from CollectiveImagination

TMS for Researchers
TMS for ResearchersTMS for Researchers
TMS for Researchers
CollectiveImagination
 
Adidas History Management
Adidas History ManagementAdidas History Management
Adidas History Management
CollectiveImagination
 
Using TMS in a Highly Diversified Collection
Using TMS in a Highly Diversified CollectionUsing TMS in a Highly Diversified Collection
Using TMS in a Highly Diversified Collection
CollectiveImagination
 
Going Off Label: TMS and Alberta's Built Heritage
Going Off Label: TMS and Alberta's Built HeritageGoing Off Label: TMS and Alberta's Built Heritage
Going Off Label: TMS and Alberta's Built Heritage
CollectiveImagination
 
Configuring TMS for Natural History Collections
Configuring TMS for Natural History CollectionsConfiguring TMS for Natural History Collections
Configuring TMS for Natural History Collections
CollectiveImagination
 
Jump-Starting Data Standards I: Launching a Data Clean-Up Program
Jump-Starting Data Standards I: Launching a Data Clean-Up ProgramJump-Starting Data Standards I: Launching a Data Clean-Up Program
Jump-Starting Data Standards I: Launching a Data Clean-Up Program
CollectiveImagination
 

More from CollectiveImagination (6)

TMS for Researchers
TMS for ResearchersTMS for Researchers
TMS for Researchers
 
Adidas History Management
Adidas History ManagementAdidas History Management
Adidas History Management
 
Using TMS in a Highly Diversified Collection
Using TMS in a Highly Diversified CollectionUsing TMS in a Highly Diversified Collection
Using TMS in a Highly Diversified Collection
 
Going Off Label: TMS and Alberta's Built Heritage
Going Off Label: TMS and Alberta's Built HeritageGoing Off Label: TMS and Alberta's Built Heritage
Going Off Label: TMS and Alberta's Built Heritage
 
Configuring TMS for Natural History Collections
Configuring TMS for Natural History CollectionsConfiguring TMS for Natural History Collections
Configuring TMS for Natural History Collections
 
Jump-Starting Data Standards I: Launching a Data Clean-Up Program
Jump-Starting Data Standards I: Launching a Data Clean-Up ProgramJump-Starting Data Standards I: Launching a Data Clean-Up Program
Jump-Starting Data Standards I: Launching a Data Clean-Up Program
 

Recently uploaded

Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
Pixlogix Infotech
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 

Recently uploaded (20)

Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 

eMuseum Customization at the Danish Arts Agency

Editor's Notes

  1. Good afternoon everyone, my name is Alex Hoffman and I’m going to show you an overview of one of the eMuseum customizations we did this past year for the Danish Arts Agency, which really shows off some of the potential of eMuseum and where the web and online collections in general are heading.The main goal of Danish arts agency was to make this site as user friendly and interactive as possible, and to do that they hired a 3rd party web design company to create wireframes and designs for both a desktop browser and mobile version of their site, expecting to use the latest technologies of the web. The designs and wireframes are a lot like the type that our own Web Atelier has been creating for web projects, and I’ll go over them later in the presentation to show just how much preparation went into the site.Before we actually take a look at the site, some of the key features are
  2. Sorting and filtering – of course sorting is pretty standard by now, and filtering is becoming more and more popular, allowing users to do a search and then fine tune it with pre-defined categories, most of the time without even having to reload the page.A slideshow for objects – which can be controlled through a number of ways, either by using an object package in TMS that’s specific for the eMuseum homepage, or by using events or exhibitions. You could even use an array of objects by object number or ID. I would say the easiest way is to use an object package just to get everything in one place, name it something like “eMuseum Slideshow” or “eMuseum Homepage” so that you know what it is and where it’s going, and then switch objects in and out of it to keep the content dynamic and fresh on the homepage. In TMS 2012, you can even have media packages, and order the objects and media in the package.A masonry layout, and what I mean by masonry is that, when in the “light box” or “grid” view, not all of the tiles are the same height, the height of the tile is mostly based on the size of the objects image and the size of the object fields displayed in the tile. This style has become more popular, mostly by Pintrest, and I’ll try to illustrate it a bit more.Infinite scrolling, which allows a user to do a search, load as many objects as will fit on their screen, and then keep loading more objects as the user scrolls further down the page rather than having a pager and always having to reload the page. This is another usability feature that was added.The use of location information in TMS to plot objects on a map so that users can see where the objects currently are in the world. We can even use the users IP address to determine where they are in the world and show them the objects closest to them. Unfortunately in the case of this site, I don’t think any objects are around us, they’re mostly in and around Denmark.In conjunction with that we also have an advanced search which allows the user to hone their search even further, even using geo information or a date range filter.Of course no site seems complete these days without some social media aspect to it so that users can share their searches, my collections or specific objects with people on facebook, twitter, or just email.I’d also like to highlight the way we do object relations on this site, since it allows you to see just how each object is related to another and assists in easy navigation throughout.And finally, not so much a single feature but more a core part of this site and something that makes all the other features possible are the web services on this site. Web services are something that really makes it easier to get at data anywhere at any time and make things “AJAXy” and dynamic, and I’ll try to explain what they are, what I mean and how they work.Also to accomplish a lot of the goals for this site we utilized a bunch of JavaScript plugins, which I will try to mention as we come to the features that they were used for.So let’s jump into the site-
  3. Now in my review of the site I skipped over one of the things I said was huge in the creation of this site, and those are the web services, which Kevin Arista wrote, along with a bunch of the functionality.
  4. So what is a web service? Well Wikipedia will tell you that:
  5. Now if that doesn’t make sense to you, it’s ok, it doesn’t make much sense to me either. Basically all you need to know is that web services are about requesting data, molding it, and then getting it back and doing something with it.
  6. So how do we request data in eMuseum, or for that matter a web page in general? We do a search. It’s such an integral, obvious part of a site we may forget that’s how it’s done. Now when we do a search we’re using a form, and forms need to submit their information somewhere. In this case, we’re calling a web service at this location.
  7. Here you can see the URL this particular search went to, to get its data. It’s saying to go to this server, which is the server the site is hosted on, then go to this file on the server, use this “method” or “service” contained in the file, and since we know the “search” service takes 2 parameters, we give it 2. What type of search we’re doing, which is a keyword search, and what keyword to use, which is “nord”. The quick search always goes to that service using the keyword parameter, so all we had to provide was the keyword to use.
  8. In many ways the service URL looks a lot like a file path, right? (c:\\fileFolder\\filename)(\\\\alexh-p\\c$\\...)
  9. So we give all this to the server, and by giving it all this information it knows which fields to give us back, because we told it that when we do a quick “keyword” search, we don’t want all the data, we just want some of it. There’s a different service for when we want the detail page information, but we’re not going there right now, we’re going to the grid view. So what do we get back from the server? Well some people may be used to XML. Here we can see how an object for the grid view would be broken down into XML by field. And each one can be identified by its object ID, which is unique. We would likely have more than one object returned, so it would look more like this, each object clearly defined in the XML tree.In this site we’re not using XML, but JSON, a different way of defining data, with the same idea. JSON stands for JavaScript Object Notation, so it’s JavaScript’s way of working with data. If you’re going to use JavaScript to manipulate the data, like we are with all the JavaScript plugins on the site, such as Isotope, Nivo Slider and Infinite Scroll, then it makes sense to use a format that’s easier for JavaScript to read.
  10. So here is how that same XML would be represented in JSON format. Now it takes a little getting used to, but once you do, it’s also very structured and makes sense. It’s still like a hierarchy or tree, except without all the brackets. You can see the parent where all the objects sit at the very top, and then the start of the object here, with its fields clearly labeled with values, just like the XML. And this is how 2 or more objects would look in JSON format. Broken down by field, and by object.
  11. So here you can see how this field would relate on the page, one to one. The information is looped through with JavaScript, and extracted into HTML onto the page. If I go to the site and actually do the search, you can see how it would turn out on the real site, and I can even do exactly what the website is doing on the backend, look at the URL it is going to, the web service, to see the code it is getting back before it becomes the pretty page you just saw. In here you can see all the objects clearly defined with their fields. And if I change the keyword, you will see I get different results.There are many services on this site, the quick search is just one of them. There are ones for handling the advanced search, what happens when you click on a filter, the collections page, the artist page, the object detail page, and the map page, and more. Some of these same services are used for the mobile version as well.
  12. These different services really allow us to query for specific data to help the performance of the website, call it whenever we want even without having to reload the page. They also allow us to expose an API to easily retrieve data that’s published on this site. The heart of this site is eMuseum, but we have also had clients who have asked us to build web services in eMuseum for them hit from their main websites search, so that they can retrieve collection data from eMuseum, aggregate it with search results from their main website, and display them all in one place. So these are just some of the great things that can be done with eMuseum and web services in particular.Does anyone have any questions?