SlideShare a Scribd company logo
1 of 10
Download to read offline
EmeraldView
     A PHP frontend for Greenstone



Yitzchak Schaffer <yitzchak.schaffer@gmx.com>
What in the name of high-school
football??!
http://localhost/gsdl?e=q-000-00-
off-demo--00-2----0--0direct-10-
TX--4----Sec---0-1l--10-en-50---20-
about-boy--00-3-1-00-0-0-01-1-
0utfZz-8-
00&a=d&c=demo&srp=0&srn=2
&cl=search
&d=HASH011ef1906c82786b6722
8
Now where am those templates...
Directory of c:greenstone-2.83macros

about.dm
amharic.dm                  dateqry.dm             greek.dm        latvian.dm
amharic2.dm                 deposit.dm             gsdl.dm         latvian2.dm
arabic.dm                   docs.dm                gti.dm          malayalam.dm
arabic2.dm                  document.dm            gujarati.dm     malayalam2.dm
armenian.dm                 dutch.dm               gujarati2.dm    maori.dm
armenian2.dm                dynamicclassifier.dm   hebrew.dm       marathi.dm
authen.dm                   english.dm             help.dm         marathi2.dm
base.dm                     english2.dm            hindi.dm        mongolian.dm
bengali.dm                  exported_home.dm       home.dm         mongolian2.dm
browse.dm                   extlink.dm             html.dm         nav_css.dm
bsummary.dm                 extra.dm               hungarian.dm    nav_ns4.dm
bulgarian.dm                farsi.dm               hungarian2.dm   nepali.dm
catalan.dm                  farsi2.dm              indo.dm         nzdlhome.dm
catalan2.dm                 finnish.dm             indo2.dm        polish.dm
chinese-trad.dm             french.dm              italian.dm      port-br.dm
chinese-trad2.dm            french2.dm             italian2.dm     port-br2.dm
chinese.dm                  gaelic.dm              japanese.dm     port-pt.dm
chinese2.dm                 galician.dm            japanese2.dm    pref.dm
collect.dm                  galician2.dm           kannada.dm      pushto.dm
croatian.dm                 georgian.dm            kannada2.dm     query.dm
czech.dm                    georgian2.dm           kazakh.dm       romanian.dm
czech2.dm                   german.dm              kazakh2.dm      romanian2.dm
dari.dm                     german2.dm             kirghiz.dm      russian.dm
                            gli.dm                 languages.dm    ...
about.dm... hmm...
...

#######################################################################
# about page content
#######################################################################

_pagetitle_ {_collectionname_}

_content_ {
_optnavigationbar_

<div class="document">
_If_("_cgiargqt_" ne "1",
    _If_("_cgiargu_" ne "1",_aboutqueryform_)
   )
_If_(_Global:collectionextra_,<p>_textabout_)
_textsubcollections_

<div class="section">
<h3>_help:textsimplehelpheading_</h3>
_help:simplehelp_
</div>

...
How about this...

http://emeraldview/demo/view/
development-in-practice-toward/5/2
?search[]=boy
... and this
...

<div id="main-content">

<?php echo $language_select ?>

<ul class="breadcrumbs">
 <li><a href="<?php echo url::base() ?>"><?php echo L10n::_('Home') ?></a> &gt;</li>
 <li>
  <?php echo $collection_display_name ?>
 </li>
</ul>

<?php if ($collection->getClassifiers()): ?>

<div id="about-browse-container">

 <h2><?php echo L10n::_('Browse') ?></h2>

...

<?php if ($collection_description): ?>
 <div id="about-description">
  <h2><?php echo L10n::_('About this collection') ?></h2>
  <p><?php echo $collection_description ?></p>
 </div>
<?php endif; ?>

...
Now what?

   Test with real collections
   Collection feeds
   Web 2.0
   Web-based configuration
   Embedded metadata




What do you think?
http://yitznewton.org/emeraldview/
yitzchak.schaffer@gmx.com

More Related Content

Similar to EmeraldView lightning talk at code4lib 2010

DDD on example of Symfony (SfCampUA14)
DDD on example of Symfony (SfCampUA14)DDD on example of Symfony (SfCampUA14)
DDD on example of Symfony (SfCampUA14)Oleg Zinchenko
 
Översättning av django-program
Översättning av django-programÖversättning av django-program
Översättning av django-programmikaelmoutakis
 
R57php 1231677414471772-2
R57php 1231677414471772-2R57php 1231677414471772-2
R57php 1231677414471772-2ady36
 
WebCamp: Developer Day: DDD in PHP on example of Symfony - Олег Зинченко
WebCamp: Developer Day: DDD in PHP on example of Symfony - Олег ЗинченкоWebCamp: Developer Day: DDD in PHP on example of Symfony - Олег Зинченко
WebCamp: Developer Day: DDD in PHP on example of Symfony - Олег ЗинченкоGeeksLab Odessa
 
Death of a Themer - Frontend United - 14 April 2013
Death of a Themer - Frontend United - 14 April 2013Death of a Themer - Frontend United - 14 April 2013
Death of a Themer - Frontend United - 14 April 2013Matt Fielding
 
Prototyping w/HTML5 and CSS3
Prototyping w/HTML5 and CSS3Prototyping w/HTML5 and CSS3
Prototyping w/HTML5 and CSS3Todd Zaki Warfel
 
Practical intro to PhpSpec
Practical intro to PhpSpecPractical intro to PhpSpec
Practical intro to PhpSpecDave Hulbert
 
Effective codereview | Dave Liddament | CODEiD
Effective codereview | Dave Liddament | CODEiDEffective codereview | Dave Liddament | CODEiD
Effective codereview | Dave Liddament | CODEiDCODEiD PHP Community
 
Beijing Perl Workshop 2008 Hiveminder Secret Sauce
Beijing Perl Workshop 2008 Hiveminder Secret SauceBeijing Perl Workshop 2008 Hiveminder Secret Sauce
Beijing Perl Workshop 2008 Hiveminder Secret SauceJesse Vincent
 
Monitoring web application behaviour with cucumber-nagios
Monitoring web application behaviour with cucumber-nagiosMonitoring web application behaviour with cucumber-nagios
Monitoring web application behaviour with cucumber-nagiosLindsay Holmwood
 
Hiveminder - Everything but the Secret Sauce
Hiveminder - Everything but the Secret SauceHiveminder - Everything but the Secret Sauce
Hiveminder - Everything but the Secret SauceJesse Vincent
 

Similar to EmeraldView lightning talk at code4lib 2010 (17)

Juggling
JugglingJuggling
Juggling
 
DDD on example of Symfony (SfCampUA14)
DDD on example of Symfony (SfCampUA14)DDD on example of Symfony (SfCampUA14)
DDD on example of Symfony (SfCampUA14)
 
Översättning av django-program
Översättning av django-programÖversättning av django-program
Översättning av django-program
 
Shell scripting
Shell scriptingShell scripting
Shell scripting
 
R57php 1231677414471772-2
R57php 1231677414471772-2R57php 1231677414471772-2
R57php 1231677414471772-2
 
PHP 5 Sucks. PHP 5 Rocks.
PHP 5 Sucks. PHP 5 Rocks.PHP 5 Sucks. PHP 5 Rocks.
PHP 5 Sucks. PHP 5 Rocks.
 
WebCamp: Developer Day: DDD in PHP on example of Symfony - Олег Зинченко
WebCamp: Developer Day: DDD in PHP on example of Symfony - Олег ЗинченкоWebCamp: Developer Day: DDD in PHP on example of Symfony - Олег Зинченко
WebCamp: Developer Day: DDD in PHP on example of Symfony - Олег Зинченко
 
Death of a Themer - Frontend United - 14 April 2013
Death of a Themer - Frontend United - 14 April 2013Death of a Themer - Frontend United - 14 April 2013
Death of a Themer - Frontend United - 14 April 2013
 
Prototyping w/HTML5 and CSS3
Prototyping w/HTML5 and CSS3Prototyping w/HTML5 and CSS3
Prototyping w/HTML5 and CSS3
 
Practical intro to PhpSpec
Practical intro to PhpSpecPractical intro to PhpSpec
Practical intro to PhpSpec
 
Juggling
JugglingJuggling
Juggling
 
Effective codereview | Dave Liddament | CODEiD
Effective codereview | Dave Liddament | CODEiDEffective codereview | Dave Liddament | CODEiD
Effective codereview | Dave Liddament | CODEiD
 
Beijing Perl Workshop 2008 Hiveminder Secret Sauce
Beijing Perl Workshop 2008 Hiveminder Secret SauceBeijing Perl Workshop 2008 Hiveminder Secret Sauce
Beijing Perl Workshop 2008 Hiveminder Secret Sauce
 
Monitoring web application behaviour with cucumber-nagios
Monitoring web application behaviour with cucumber-nagiosMonitoring web application behaviour with cucumber-nagios
Monitoring web application behaviour with cucumber-nagios
 
Hiveminder - Everything but the Secret Sauce
Hiveminder - Everything but the Secret SauceHiveminder - Everything but the Secret Sauce
Hiveminder - Everything but the Secret Sauce
 
Virus competition
Virus competitionVirus competition
Virus competition
 
Malcon2017
Malcon2017Malcon2017
Malcon2017
 

Recently uploaded

Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 

Recently uploaded (20)

Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 

EmeraldView lightning talk at code4lib 2010

  • 1. EmeraldView A PHP frontend for Greenstone Yitzchak Schaffer <yitzchak.schaffer@gmx.com>
  • 2.
  • 3. What in the name of high-school football??! http://localhost/gsdl?e=q-000-00- off-demo--00-2----0--0direct-10- TX--4----Sec---0-1l--10-en-50---20- about-boy--00-3-1-00-0-0-01-1- 0utfZz-8- 00&a=d&c=demo&srp=0&srn=2 &cl=search &d=HASH011ef1906c82786b6722 8
  • 4.
  • 5. Now where am those templates... Directory of c:greenstone-2.83macros about.dm amharic.dm dateqry.dm greek.dm latvian.dm amharic2.dm deposit.dm gsdl.dm latvian2.dm arabic.dm docs.dm gti.dm malayalam.dm arabic2.dm document.dm gujarati.dm malayalam2.dm armenian.dm dutch.dm gujarati2.dm maori.dm armenian2.dm dynamicclassifier.dm hebrew.dm marathi.dm authen.dm english.dm help.dm marathi2.dm base.dm english2.dm hindi.dm mongolian.dm bengali.dm exported_home.dm home.dm mongolian2.dm browse.dm extlink.dm html.dm nav_css.dm bsummary.dm extra.dm hungarian.dm nav_ns4.dm bulgarian.dm farsi.dm hungarian2.dm nepali.dm catalan.dm farsi2.dm indo.dm nzdlhome.dm catalan2.dm finnish.dm indo2.dm polish.dm chinese-trad.dm french.dm italian.dm port-br.dm chinese-trad2.dm french2.dm italian2.dm port-br2.dm chinese.dm gaelic.dm japanese.dm port-pt.dm chinese2.dm galician.dm japanese2.dm pref.dm collect.dm galician2.dm kannada.dm pushto.dm croatian.dm georgian.dm kannada2.dm query.dm czech.dm georgian2.dm kazakh.dm romanian.dm czech2.dm german.dm kazakh2.dm romanian2.dm dari.dm german2.dm kirghiz.dm russian.dm gli.dm languages.dm ...
  • 6. about.dm... hmm... ... ####################################################################### # about page content ####################################################################### _pagetitle_ {_collectionname_} _content_ { _optnavigationbar_ <div class="document"> _If_("_cgiargqt_" ne "1", _If_("_cgiargu_" ne "1",_aboutqueryform_) ) _If_(_Global:collectionextra_,<p>_textabout_) _textsubcollections_ <div class="section"> <h3>_help:textsimplehelpheading_</h3> _help:simplehelp_ </div> ...
  • 7.
  • 9. ... and this ... <div id="main-content"> <?php echo $language_select ?> <ul class="breadcrumbs"> <li><a href="<?php echo url::base() ?>"><?php echo L10n::_('Home') ?></a> &gt;</li> <li> <?php echo $collection_display_name ?> </li> </ul> <?php if ($collection->getClassifiers()): ?> <div id="about-browse-container"> <h2><?php echo L10n::_('Browse') ?></h2> ... <?php if ($collection_description): ?> <div id="about-description"> <h2><?php echo L10n::_('About this collection') ?></h2> <p><?php echo $collection_description ?></p> </div> <?php endif; ?> ...
  • 10. Now what? Test with real collections Collection feeds Web 2.0 Web-based configuration Embedded metadata What do you think? http://yitznewton.org/emeraldview/ yitzchak.schaffer@gmx.com