ELUNA2014: Developing and Testing an open source web applicationMichael Cummings
ELUNA2014: Developing and Testing an open source web application provides information about a custom library catalog developed at the George Washington University, as well as a description of how developers use CasperJS to test the system.
libAttachSQL, The Next-Generation C Connector For MySQLAndrew Hutchings
The document introduces libAttachSQL, a new C connector for MySQL that provides a non-blocking API. It was created by Andrew Hutchings and is designed from the ground up to be lightweight, well documented, and compatible with modern asynchronous programming techniques. LibAttachSQL uses libuv for its event loop and aims to improve upon existing MySQL C connectors by providing a fully asynchronous API without legacy issues.
As organisations store more and more information in their Alfresco content hubs, search and discovery of content becomes important. Alfresco comes bundled with Apache Lucene and Apache Solr for search. Although these provide full text capabilities, they do not have the scalability and functionality of the newer cloud scalable search software such as Apache Solr Cloud 4, Elastic Search and Amazon Cloud Search. Also, searching across multiple Alfresco instances including Alfresco Cloud is quite a challenge and any of the possible approaches are not good enough to be production ready.
This talk shows you how to index and search content stored in one or more Alfresco repositories, other CMIS repositories or file systems using either Apache Solr Cloud 4, Elastic Search or Amazon Cloud Search, while still ensuring the confidentiality of the documents based on the permissions configured in Alfresco or any other repositories.
Web development with Lua @ Bulgaria Web Summit 2016Etiene Dalcol
February 20, 2016
Lua is a very fast and powerful scripting language that can be easily embeddable. It has been shining in industries like game development, for example. Lua is also an excellent tool as a general purpose language and can be used to develop robust applications. Its use in web developments, however, despite its great potential and incredible benchmarks, needs to be more widespread. This talk will mention the current state of Lua in web development, show some benchmarks, compare existing tools and teach developers how to get started with Sailor, an MVC web framework written in Lua.
This document introduces Minoru Osuka and provides information about ManifoldCF and Solr. It discusses that Minoru is a committer and PMC member of ManifoldCF at Apache Software Foundation and a senior consultant. It then provides an overview of what ManifoldCF is, its project status, architecture, use cases, resources, books, and demonstration. It concludes by announcing that Minoru's company is now hiring.
ELUNA2014: Developing and Testing an open source web applicationMichael Cummings
ELUNA2014: Developing and Testing an open source web application provides information about a custom library catalog developed at the George Washington University, as well as a description of how developers use CasperJS to test the system.
libAttachSQL, The Next-Generation C Connector For MySQLAndrew Hutchings
The document introduces libAttachSQL, a new C connector for MySQL that provides a non-blocking API. It was created by Andrew Hutchings and is designed from the ground up to be lightweight, well documented, and compatible with modern asynchronous programming techniques. LibAttachSQL uses libuv for its event loop and aims to improve upon existing MySQL C connectors by providing a fully asynchronous API without legacy issues.
As organisations store more and more information in their Alfresco content hubs, search and discovery of content becomes important. Alfresco comes bundled with Apache Lucene and Apache Solr for search. Although these provide full text capabilities, they do not have the scalability and functionality of the newer cloud scalable search software such as Apache Solr Cloud 4, Elastic Search and Amazon Cloud Search. Also, searching across multiple Alfresco instances including Alfresco Cloud is quite a challenge and any of the possible approaches are not good enough to be production ready.
This talk shows you how to index and search content stored in one or more Alfresco repositories, other CMIS repositories or file systems using either Apache Solr Cloud 4, Elastic Search or Amazon Cloud Search, while still ensuring the confidentiality of the documents based on the permissions configured in Alfresco or any other repositories.
Web development with Lua @ Bulgaria Web Summit 2016Etiene Dalcol
February 20, 2016
Lua is a very fast and powerful scripting language that can be easily embeddable. It has been shining in industries like game development, for example. Lua is also an excellent tool as a general purpose language and can be used to develop robust applications. Its use in web developments, however, despite its great potential and incredible benchmarks, needs to be more widespread. This talk will mention the current state of Lua in web development, show some benchmarks, compare existing tools and teach developers how to get started with Sailor, an MVC web framework written in Lua.
This document introduces Minoru Osuka and provides information about ManifoldCF and Solr. It discusses that Minoru is a committer and PMC member of ManifoldCF at Apache Software Foundation and a senior consultant. It then provides an overview of what ManifoldCF is, its project status, architecture, use cases, resources, books, and demonstration. It concludes by announcing that Minoru's company is now hiring.
A talk about Open Source logging and monitoring tools, using the ELK stack (ElasticSearch, Logstash, Kibana) to aggregate logs, how to track metrics from systems and logs, and how Drupal.org uses the ELK stack to aggregate and process billions of logs a month.
This document compares various Scala frameworks for building web applications and interacting with databases. It discusses alternatives to the standard Play and Slick frameworks, including Finagle, Akka HTTP, Skinny Micro, Quill, doobie, and ScalikeJDBC. For web frameworks, all the alternatives look promising but Play is also still viable. For databases, there is no clear standard yet, but ScalikeJDBC appears suitable for most users.
ELK Stack workshop covers real-world use cases and works with the participants to - implement them. This includes Elastic overview, Logstash configuration, creation of dashboards in Kibana, guidelines and tips on processing custom log formats, designing a system to scale, choosing hardware, and managing the lifecycle of your logs.
Many gif images are broken. Please go to this link :)
https://docs.google.com/presentation/d/1geMkdEC43ge_kS_GDHHIljiJL-E4CSURCn-23eqrXTQ/edit?usp=sharing
Aurélien Mazoyer from France Labs gives users a step-by-step breakdown of everything ManifoldCF is capable of. He also works through a scenario that shows what can happen when using Apache ManifoldCF with Apache Solr.
Elasticsearch is a distributed RESTful search engine that is potentially vulnerable to injection attacks if input is not validated properly. The document discusses previous security issues in Elasticsearch including remote code execution bugs, and analyzes the security of popular PHP Elasticsearch client libraries. It finds that the original Elasticsearch and Elastica clients encode URLs properly but Nervetattoo is potentially vulnerable if raw sockets are used without validation of index and type names passed to the client. Proper input validation is needed to prevent attacks through Elasticsearch clients.
This document discusses using the ELK stack (Elasticsearch, Logstash, Kibana) to centralize logging and visualize log data. It introduces the components of ELK - Logstash collects and processes logs, Elasticsearch stores the data, and Kibana visualizes it. The document demonstrates using Logstash to input Apache/Nginx logs and output to Elasticsearch, and using Kibana to view the data. It also compares traditional distributed logging to the benefits of centralizing logs with ELK.
The document discusses the ELK stack, which consists of Elasticsearch, Logstash, and Kibana. It describes some common logging problems companies face and how ELK can help centralize, index, archive, and analyze logs. It provides an example Logstash configuration to collect Apache access logs and MySQL logs, parse them, and output the data to Elasticsearch. It also discusses how to build a custom Logstash filter for Magento logs and load them into Elasticsearch for analysis and visualization in Kibana. The document concludes that while ELK has advantages like being open source and supporting many log formats, its many components require frequent upgrades and out-of-the-box configurations may not be suitable for medium/large deployments
Riak is a highly scalable distributed data store written in Erlang. The document introduces Riak and describes how to store and retrieve data using its HTTP API. It explains how to set up a 3-node Riak cluster locally and store objects in buckets with or without user-defined keys. Sample curl commands are provided to store plain text and JSON objects in different buckets.
Apache zeppelin, the missing component for the big data ecosystemDuyhai Doan
Apache Zeppelin is a web-based notebook that allows users to interact with data via interpreters like Spark, SQL, and Cassandra. It provides a GUI for data scientists to write code and visualizations in notebooks. Zeppelin has a modular architecture that allows new interpreters to be easily added. It also includes features like scheduling, sharing, and exporting of notebooks.
This document discusses using Scala for full stack development, with Scala in both the backend and frontend. It provides an overview of using Scala and Scala.js for backend and frontend development, including architectures, frameworks, and techniques. The backend is built with Scala and Spring Boot, using techniques like dependency injection and immutable data structures. The frontend is built with Scala.js and React for the UI, using Flux architecture and immutable data. It also discusses mobile development with Scala and React Native.
Guillaume Laforge, Product Ninja & Advocate at Restlet and Chair of the Apache Groovy PMC, presented about how to use Groovy for developing and consuming REST Web APIs at the JavaOne 2015 conference
Seven perilous pitfalls to avoid with Java | DevNation Tech TalkRed Hat Developers
Developers and security: It’s a lot more than just turning on SSL. In this session we’re going to learn to think differently about designing and coding in Java so that the application is less open to being attacked and (bonus) is often of higher quality. This talk will cover seven types of development issues that can get your application into trouble. With code examples (of course), we’ll explore a series of common code pitfalls and explain how to design and code differently. There is much to learn when creating a secure application - take your first steps here.
Here's an example of how to code with Riak using cURL and ruby to do a basic PUT, GET and more. We then index the data using Apache Solr integration.
No matter what platform we’re discussing, we’re beyond the view of rows and columns. Data is more diverse than ever. More difficult to parse. Here is some of that story.
This document discusses middleware in Ruby and provides examples of considerations when writing middleware:
- Middleware should be a long-running daemon process that is compatible across platforms and environments and handles various data formats and traffic volumes.
- Tests must be run on all supported platforms to ensure compatibility as thread and process scheduling differs between operating systems.
- Memory usage and object leaks must be carefully managed in long-running processes to avoid consuming resources over time.
- Performance of JSON parsing/generation should be benchmarked and the most optimized library used to avoid unnecessary CPU usage.
OSMC 2013 | Log- und Eventmanagement by Bernd ErkNETWAYS
Das Handling von passiven Events und deren Korrelation gehört nicht gerade zu den großen Stärken von Nagios und Icinga. Natürlich ist es mit Hilfe verschiedener Plugins und Addons möglich unterschiedlichste Quellen zu überwachen und auszuwerten, eine regelbasierte Verarbeitung und Langzeitspeicherung gestaltet sich jedoch meist schwierig.
Um eine lückenlos nachvollziehbare Kette an Logs und Events von Entstehung bis zur Speicherung sicherzustellen, stehen diverse Open Source Lösungen zur Verfügung. Werkzeuge wie Logstash, EDBC und statsd genießen in den letzten Monaten größer werdende Beliebtheit, werden jedoch häufig isoliert konfiguriert und betrieben. Die große Herausforderung besteht darin, die vorhandenen Werkzeuge miteinander zu verbinden um die individuellen Stärken optimal zu nutzen.
Neben einer Einführung in die verwendeten Tools, demonstriert der Vortrag eine konkrete Implementierung der beschriebenen Komponenten und deren Anbindung an Nagios und Icinga. Dies geht von der Installation und Konfiguration bis hin zu erweiterten Filter- und Korrelationsregeln.
You are a developer, create applications that generate logs. You would like to monitor those logs to check what the application is doing in production. Or you are an operator in need for information about the whole platform. You need logs from the load balancer, proxy, database and the application. If possible you would like to correlate these logs as well. Maybe you are an analyst and you would like to create some graphs of the data you obtained. If one of these roles is you, the chance is big you heard about ELK. This is short for Elasticsearch, Logstash and Kibana. The goal for these projects is to obtain data (logstash), store it in a central repository (elasticsearch) to make it searchable and available for analysis. Having all this data is nice, but making it visible is even better, that is where Kibana comes in. With Kibana you can create nice dashboard giving insight into your data. ELK is a proven technology stack to handle your logs. During this talk I will present you the complete stack. I’ll show you how to import data with logstash, explain what happens in elasticsearch and create a dashboard using Kibana. I will also discuss some choices you have to make while storing the data, go into a number of possible architectures for the ELK stack. At the end you have a good idea about what ELK can do for you.
Oak, the architecture of Apache Jackrabbit 3Jukka Zitting
Apache Jackrabbit is just about to reach the 3.0 milestone based on a new architecture called Oak. Based on concepts like eventual consistency and multi-version concurrency control, and borrowing ideas from distributed version control systems and cloud-scale databases, the Oak architecture is a major leap ahead for Jackrabbit. This presentation describes the Oak architecture and shows what it means for the scalability and performance of modern content applications. Changes to existing Jackrabbit functionality are described and the migration process is explained.
Apache Sling - Distributed Eventing, Discovery, and Jobs (adaptTo 2013)Carsten Ziegeler
The document summarizes a presentation on distributed eventing and jobs using Apache Sling and OSGi technologies. It discusses how OSGi event publishing works, Apache Sling discovery and job handling capabilities, and how events can be used to trigger and distribute jobs across multiple instances in a clustered environment. Key points include how Sling identifies instances, clusters, and topologies, manages job queues and consumers, and distributes jobs based on enabled topics and instance availability.
Python And The MySQL X DevAPI - PyCaribbean 2019Dave Stokes
The document discusses the MySQL X DevAPI and how it allows developers to work with MySQL as a document store using a modern programming style. Some key points:
- X DevAPI wraps powerful concepts in a simple API, allowing applications to establish logical sessions to MySQL server instances running the X Plugin without code changes for single or clustered deployments.
- Documents are stored in Collections and CRUD (create, read, update, delete) operations can be performed on them directly rather than embedding SQL strings.
- An example Python program uses the MySQL Connector/Python library to connect to a MySQL server, retrieve a document from a collection using a filter, and print the result.
- The emphasis is on working
Roller is an open source blogging platform that allows for multi-user and group blogging. It provides features like comment moderation, complete template customization, built-in search, and RSS/Atom support. Roller has been around since 2000 and is now maintained by the Apache Software Foundation. It uses standard Java web technologies and has a modular architecture.
A talk about Open Source logging and monitoring tools, using the ELK stack (ElasticSearch, Logstash, Kibana) to aggregate logs, how to track metrics from systems and logs, and how Drupal.org uses the ELK stack to aggregate and process billions of logs a month.
This document compares various Scala frameworks for building web applications and interacting with databases. It discusses alternatives to the standard Play and Slick frameworks, including Finagle, Akka HTTP, Skinny Micro, Quill, doobie, and ScalikeJDBC. For web frameworks, all the alternatives look promising but Play is also still viable. For databases, there is no clear standard yet, but ScalikeJDBC appears suitable for most users.
ELK Stack workshop covers real-world use cases and works with the participants to - implement them. This includes Elastic overview, Logstash configuration, creation of dashboards in Kibana, guidelines and tips on processing custom log formats, designing a system to scale, choosing hardware, and managing the lifecycle of your logs.
Many gif images are broken. Please go to this link :)
https://docs.google.com/presentation/d/1geMkdEC43ge_kS_GDHHIljiJL-E4CSURCn-23eqrXTQ/edit?usp=sharing
Aurélien Mazoyer from France Labs gives users a step-by-step breakdown of everything ManifoldCF is capable of. He also works through a scenario that shows what can happen when using Apache ManifoldCF with Apache Solr.
Elasticsearch is a distributed RESTful search engine that is potentially vulnerable to injection attacks if input is not validated properly. The document discusses previous security issues in Elasticsearch including remote code execution bugs, and analyzes the security of popular PHP Elasticsearch client libraries. It finds that the original Elasticsearch and Elastica clients encode URLs properly but Nervetattoo is potentially vulnerable if raw sockets are used without validation of index and type names passed to the client. Proper input validation is needed to prevent attacks through Elasticsearch clients.
This document discusses using the ELK stack (Elasticsearch, Logstash, Kibana) to centralize logging and visualize log data. It introduces the components of ELK - Logstash collects and processes logs, Elasticsearch stores the data, and Kibana visualizes it. The document demonstrates using Logstash to input Apache/Nginx logs and output to Elasticsearch, and using Kibana to view the data. It also compares traditional distributed logging to the benefits of centralizing logs with ELK.
The document discusses the ELK stack, which consists of Elasticsearch, Logstash, and Kibana. It describes some common logging problems companies face and how ELK can help centralize, index, archive, and analyze logs. It provides an example Logstash configuration to collect Apache access logs and MySQL logs, parse them, and output the data to Elasticsearch. It also discusses how to build a custom Logstash filter for Magento logs and load them into Elasticsearch for analysis and visualization in Kibana. The document concludes that while ELK has advantages like being open source and supporting many log formats, its many components require frequent upgrades and out-of-the-box configurations may not be suitable for medium/large deployments
Riak is a highly scalable distributed data store written in Erlang. The document introduces Riak and describes how to store and retrieve data using its HTTP API. It explains how to set up a 3-node Riak cluster locally and store objects in buckets with or without user-defined keys. Sample curl commands are provided to store plain text and JSON objects in different buckets.
Apache zeppelin, the missing component for the big data ecosystemDuyhai Doan
Apache Zeppelin is a web-based notebook that allows users to interact with data via interpreters like Spark, SQL, and Cassandra. It provides a GUI for data scientists to write code and visualizations in notebooks. Zeppelin has a modular architecture that allows new interpreters to be easily added. It also includes features like scheduling, sharing, and exporting of notebooks.
This document discusses using Scala for full stack development, with Scala in both the backend and frontend. It provides an overview of using Scala and Scala.js for backend and frontend development, including architectures, frameworks, and techniques. The backend is built with Scala and Spring Boot, using techniques like dependency injection and immutable data structures. The frontend is built with Scala.js and React for the UI, using Flux architecture and immutable data. It also discusses mobile development with Scala and React Native.
Guillaume Laforge, Product Ninja & Advocate at Restlet and Chair of the Apache Groovy PMC, presented about how to use Groovy for developing and consuming REST Web APIs at the JavaOne 2015 conference
Seven perilous pitfalls to avoid with Java | DevNation Tech TalkRed Hat Developers
Developers and security: It’s a lot more than just turning on SSL. In this session we’re going to learn to think differently about designing and coding in Java so that the application is less open to being attacked and (bonus) is often of higher quality. This talk will cover seven types of development issues that can get your application into trouble. With code examples (of course), we’ll explore a series of common code pitfalls and explain how to design and code differently. There is much to learn when creating a secure application - take your first steps here.
Here's an example of how to code with Riak using cURL and ruby to do a basic PUT, GET and more. We then index the data using Apache Solr integration.
No matter what platform we’re discussing, we’re beyond the view of rows and columns. Data is more diverse than ever. More difficult to parse. Here is some of that story.
This document discusses middleware in Ruby and provides examples of considerations when writing middleware:
- Middleware should be a long-running daemon process that is compatible across platforms and environments and handles various data formats and traffic volumes.
- Tests must be run on all supported platforms to ensure compatibility as thread and process scheduling differs between operating systems.
- Memory usage and object leaks must be carefully managed in long-running processes to avoid consuming resources over time.
- Performance of JSON parsing/generation should be benchmarked and the most optimized library used to avoid unnecessary CPU usage.
OSMC 2013 | Log- und Eventmanagement by Bernd ErkNETWAYS
Das Handling von passiven Events und deren Korrelation gehört nicht gerade zu den großen Stärken von Nagios und Icinga. Natürlich ist es mit Hilfe verschiedener Plugins und Addons möglich unterschiedlichste Quellen zu überwachen und auszuwerten, eine regelbasierte Verarbeitung und Langzeitspeicherung gestaltet sich jedoch meist schwierig.
Um eine lückenlos nachvollziehbare Kette an Logs und Events von Entstehung bis zur Speicherung sicherzustellen, stehen diverse Open Source Lösungen zur Verfügung. Werkzeuge wie Logstash, EDBC und statsd genießen in den letzten Monaten größer werdende Beliebtheit, werden jedoch häufig isoliert konfiguriert und betrieben. Die große Herausforderung besteht darin, die vorhandenen Werkzeuge miteinander zu verbinden um die individuellen Stärken optimal zu nutzen.
Neben einer Einführung in die verwendeten Tools, demonstriert der Vortrag eine konkrete Implementierung der beschriebenen Komponenten und deren Anbindung an Nagios und Icinga. Dies geht von der Installation und Konfiguration bis hin zu erweiterten Filter- und Korrelationsregeln.
You are a developer, create applications that generate logs. You would like to monitor those logs to check what the application is doing in production. Or you are an operator in need for information about the whole platform. You need logs from the load balancer, proxy, database and the application. If possible you would like to correlate these logs as well. Maybe you are an analyst and you would like to create some graphs of the data you obtained. If one of these roles is you, the chance is big you heard about ELK. This is short for Elasticsearch, Logstash and Kibana. The goal for these projects is to obtain data (logstash), store it in a central repository (elasticsearch) to make it searchable and available for analysis. Having all this data is nice, but making it visible is even better, that is where Kibana comes in. With Kibana you can create nice dashboard giving insight into your data. ELK is a proven technology stack to handle your logs. During this talk I will present you the complete stack. I’ll show you how to import data with logstash, explain what happens in elasticsearch and create a dashboard using Kibana. I will also discuss some choices you have to make while storing the data, go into a number of possible architectures for the ELK stack. At the end you have a good idea about what ELK can do for you.
Oak, the architecture of Apache Jackrabbit 3Jukka Zitting
Apache Jackrabbit is just about to reach the 3.0 milestone based on a new architecture called Oak. Based on concepts like eventual consistency and multi-version concurrency control, and borrowing ideas from distributed version control systems and cloud-scale databases, the Oak architecture is a major leap ahead for Jackrabbit. This presentation describes the Oak architecture and shows what it means for the scalability and performance of modern content applications. Changes to existing Jackrabbit functionality are described and the migration process is explained.
Apache Sling - Distributed Eventing, Discovery, and Jobs (adaptTo 2013)Carsten Ziegeler
The document summarizes a presentation on distributed eventing and jobs using Apache Sling and OSGi technologies. It discusses how OSGi event publishing works, Apache Sling discovery and job handling capabilities, and how events can be used to trigger and distribute jobs across multiple instances in a clustered environment. Key points include how Sling identifies instances, clusters, and topologies, manages job queues and consumers, and distributes jobs based on enabled topics and instance availability.
Python And The MySQL X DevAPI - PyCaribbean 2019Dave Stokes
The document discusses the MySQL X DevAPI and how it allows developers to work with MySQL as a document store using a modern programming style. Some key points:
- X DevAPI wraps powerful concepts in a simple API, allowing applications to establish logical sessions to MySQL server instances running the X Plugin without code changes for single or clustered deployments.
- Documents are stored in Collections and CRUD (create, read, update, delete) operations can be performed on them directly rather than embedding SQL strings.
- An example Python program uses the MySQL Connector/Python library to connect to a MySQL server, retrieve a document from a collection using a filter, and print the result.
- The emphasis is on working
Roller is an open source blogging platform that allows for multi-user and group blogging. It provides features like comment moderation, complete template customization, built-in search, and RSS/Atom support. Roller has been around since 2000 and is now maintained by the Apache Software Foundation. It uses standard Java web technologies and has a modular architecture.
Usage Note of Qt ODBC Database Access on LinuxWilliam Lee
This document provides instructions for setting up ODBC database access on Linux using Qt. It describes installing the unixODBC library, Microsoft SQL Server ODBC driver, and Qt ODBC SQL driver plugin. It also explains how to create a DSN, use the sqlcmd tool to connect to SQL Server, and write Qt applications that use the ODBC driver plugin to connect via ODBC.
Free and useful tools have proliferated since the launch of the CodePlex and SourceForge websites. Join Kevin Kline, long-time author of the SQL Server Magazine column "Tool Time", as he profiles the very best of the free tools covered in his monthly column - dozens of free tools and utilities! Some of the cover tools help to:
- Track database growth
- Implement logging in SSIS job steps
- Stress test your database applications
- Automate important preventative maintenance tasks
- Automate maintenance tasks for Analysis Services
- Help protect against SQL Injection attacks
- Graphically manage Extended Events
- Utilize PowerShell scripts to ease administration
And much more. These tools are all free and independently supported by SQL Server enthusiasts around the world.
Linq To XML provides advantages over previous .NET XML options like being faster, using LINQ query syntax for easier processing, and having simpler classes. It allows loading XML from files or strings, creating XML trees, querying XML with namespaces, and validating against schemas. The overview demonstrates its usage and provides links for additional resources.
Understand what NoSQL is and what it is not. Why would you want to use NoSQL within your project and which NoSQL database would you utilize. Explore the relationships between NoSQL and RDBMS. Understand how to select between an RDBMs (MySQL and PostgreSQL), Document Database(MongoDB), Key-Value Store, Graph Database, and Columnar databases or combinations of the above.
Understand what NoSQL is and what it is not. Why would you want to use NoSQL within your project and which NoSQL database would you utilize. Explore the relationships between NoSQL and RDBMS. Understand how to select between an RDBMs (MySQL and PostgreSQL), Document Database(MongoDB), Key-Value Store, Graph Database, and Columnar databases or combinations of the above.
This document discusses Oracle WebLogic Server 12c running with Docker containers. It begins with introductions of Bruno Borges from Oracle and Dr. Frank Munz. It then provides an overview of Docker and how it differs from virtualization. Docker images and containers are explained. Using Docker with clouds is discussed. Finally, running WebLogic Server within a Docker container is covered, including what is supported and example Dockerfiles and scripts.
RethinkDB - the open-source database for the realtime webAlex Ivanov
This document summarizes RethinkDB, an open-source database for building realtime web applications. It describes key features of RethinkDB such as its push model that allows applications to receive live updates from the database via changefeeds without polling, its query language, data modeling options using embedded documents or references, and how it can be used to build collaborative, multiplayer and analytics applications.
Hi! Ho! Hi! Ho! SQL Server on Linux We Go!SolarWinds
SQL Server has been running on Windows for years. Now Microsoft is making it available on Linux in order to provide a consistent database platform across Window and Linux servers, as well as on-premises and in the cloud. In this presentation, Janis Griffin, database performance evangelist at SolarWinds, discusses the advantages of using SQL Server on Linux, comparing architecture, cost and performance.
This document provides instructions for installing Oracle XE with ORDS and configuring it to run on Apache Tomcat or Oracle Glassfish Server. It discusses the benefits of using ORDS over mod_plsql, including increased functionality and flexibility. It then provides step-by-step guides for installing Glassfish Server, Apache Tomcat Server, setting up ORDS, and configuring each web server with ORDS. Key steps include deploying the ords.war and i.war files, and accessing APEX over ORDS at specific URLs for each server.
UDF/UDAF: the extensibility framework for KSQL (Hojjat Jafapour, Confluent) K...confluent
KSQL is the streaming SQL engine for Apache Kafka. It provides an easy and completely interactive SQL interface for stream processing on Kafka. Users can express their processing logic in SQL like statements and KSQL will compile and execute them as Kafka Streams applications. Although KSQL provides a rich set of features and built in functions, many use cases require more domain specific processing logic that cannot be expressed in pure SQL. To enable users to use KSQL in such scenarios, KSQL provides a framework to define complex processing logic as User Defined Functions (UDFs) and User Defined Aggregate Functions (UDAFs). In this talk, we provide a deep dive into the UDF/UDAF framework in KSQL. We explain how users can define their custom UDFs/UDAFs and use them in their queries. We also describe how KSQL utilizes the provided UDFs/UDAFs under the hood to process streams and tables. This deep dive will include an insight into how UDFs process data and how UDAFs keep track of their state. Armed with such knowledge, KSQL users will be able to define and utilize complex data processing logic in their KSQL queries. They will also be able to diagnose and fix issues in defining and deploying their UDFs/UDAFs more efficiently.
This document provides an overview of deploying and operating KSQL. It introduces Nick Dearden and Hojjat Jafarpour who work on KSQL at Confluent. The agenda includes discussing deployment, configuration, scaling, and monitoring of KSQL. Specific topics covered are getting started with KSQL, starting the KSQL server, connecting to Kafka and Schema Registry, using the KSQL CLI, deployment patterns and log files. The presentation also demonstrates viewing metrics for KSQL servers, queries, input and output topics through JMX.
This document provides steps to install Oracle WebLogic Server 12cR2 on Oracle Linux 7. It involves installing prerequisites like creating groups and users, installing JDK. Then running the installer as user 'oracle' and selecting WebLogic Server. Finally, it describes creating a domain to complete the installation and starting the WebLogic server.
Tackle Containerization Advisor (TCA) for Legacy ApplicationsKonveyor Community
Recording of presentation: https://youtu.be/VapEooROERw
With the adoption of cloud services and the reliability and resiliency it offers, enterprises are eager to understand how many of their legacy applications can be containerized.
We propose Tackle Containerization Advisor (TCA), a framework that provides a containerization advisory for legacy applications.
Given an application description in terms of its technical components, TCA proposes a multi-step process that standardizes the raw inputs and curates technology stack into various components, detects missing components and finally recommends the best possible containerization approach.
Presenter: Anup Kalia, Research Staff Member @ IBM Research
GitHub: https://github.com/konveyor/tackle-container-advisor
The document summarizes the steps to build a web service client and component using C# and .NET. It describes generating a proxy class from a WSDL, compiling it into a DLL, creating a client project, invoking the web service method, and building the project files. It also covers creating a web service project, developing the .asmx and class files, adding attributes, and building the project. The goal is to demonstrate how to create and consume a web service that generates unique IDs.
Custom application development according to Oracle is primarily relevant for extending SaaS applications and creating customer experiences. The current recommended approach for building graphical user interface (on web and mobile) is through low code Visual Builder with high code JET injections when required. An alternative low code stack is available from Oracle in the form of APEX, This slide set discusses the above as well as ADF and Forms. It then introduces Digital Assistant, talks about the state and future of Java and concludes with CI/CD and DevOps. As presented on November 5th 2018 at AMIS HQ, Nieuwegein, The Netherlands.
The annual review session by the AMIS team on their findings, interpretations and opinions regarding news, trends, announcements and roadmaps around Oracle's product portfolio.
The document discusses opportunities for the Watson Library to use APIs from various applications to enhance its services. It provides examples of APIs that could provide book cover images, descriptions, and digitized books. The benefits of APIs for libraries include helping staff with their work, improving usability of services for patrons, and creating dashboards to showcase the value of the library. Next steps involve learning about available APIs, networking with other library API developers, and prioritizing which APIs for the Watson Library to implement first.
Experiments with semantic web markup and linked data for libraries. Loading and utilizing URI's on library MARC catalog records. Leveraging id.loc.gov name authorities links to connect patrons to WorldCat Identities.
Semantic web markup of web pages representing library catalog pages; adding URI's to MARC records, potential use. From my presentation at DLF Forum 2015.
This document provides an overview of how bibliographic, holding, and item data for a print monograph titled "Philosophy: the quest for truth and meaning" is represented in the Voyager integrated library system. It demonstrates the relationships between the MARC record, bibliographic record, holding record, item record, and relevant database tables. Basic SQL queries are presented to retrieve and view specific data from tables such as bib_text, bib_index, and others.
Emerging technologies in academic libraries. A department by department overview. Data visualization, online reference, nextGen library platforms, open source software, digital asset and archive management systems, digital humanities, scientific and creative software, new physical spaces for libraries.
Data Visualization: Analyzing your library data provides tips on using Access crosstab query; Excel pivot table and pivot chart; Tableau Public. A presentation at ELUNA, 2015. Supplemental file also available on slideshare.
This document discusses various methods for obtaining data from integrated library systems and tools for visualizing the data. It provides examples of exporting data from Voyager using the Ex Libris reports module in Access, SQL*Plus, and XML/XSLT. Methods for visualizing the data in Access, Excel, and Tableau are described. The goals of data visualization are identified as discovery, understanding, and informed decision making. Community resources like the Ex Libris Developer Network and ELUNA document repository are also mentioned.
ELUNA2013:Providing Voyager catalog data in a custom, open source web applica...Michael Cummings
Providing Voyager catalog data in a custom, open source web application, "Launchpad" outlines the features of customized library catalog software application from the George Washington University.
How to Fix the Import Error in the Odoo 17Celine George
An import error occurs when a program fails to import a module or library, disrupting its execution. In languages like Python, this issue arises when the specified module cannot be found or accessed, hindering the program's functionality. Resolving import errors is crucial for maintaining smooth software operation and uninterrupted development processes.
A review of the growth of the Israel Genealogy Research Association Database Collection for the last 12 months. Our collection is now passed the 3 million mark and still growing. See which archives have contributed the most. See the different types of records we have, and which years have had records added. You can also see what we have for the future.
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UPRAHUL
This Dissertation explores the particular circumstances of Mirzapur, a region located in the
core of India. Mirzapur, with its varied terrains and abundant biodiversity, offers an optimal
environment for investigating the changes in vegetation cover dynamics. Our study utilizes
advanced technologies such as GIS (Geographic Information Systems) and Remote sensing to
analyze the transformations that have taken place over the course of a decade.
The complex relationship between human activities and the environment has been the focus
of extensive research and worry. As the global community grapples with swift urbanization,
population expansion, and economic progress, the effects on natural ecosystems are becoming
more evident. A crucial element of this impact is the alteration of vegetation cover, which plays a
significant role in maintaining the ecological equilibrium of our planet.Land serves as the foundation for all human activities and provides the necessary materials for
these activities. As the most crucial natural resource, its utilization by humans results in different
'Land uses,' which are determined by both human activities and the physical characteristics of the
land.
The utilization of land is impacted by human needs and environmental factors. In countries
like India, rapid population growth and the emphasis on extensive resource exploitation can lead
to significant land degradation, adversely affecting the region's land cover.
Therefore, human intervention has significantly influenced land use patterns over many
centuries, evolving its structure over time and space. In the present era, these changes have
accelerated due to factors such as agriculture and urbanization. Information regarding land use and
cover is essential for various planning and management tasks related to the Earth's surface,
providing crucial environmental data for scientific, resource management, policy purposes, and
diverse human activities.
Accurate understanding of land use and cover is imperative for the development planning
of any area. Consequently, a wide range of professionals, including earth system scientists, land
and water managers, and urban planners, are interested in obtaining data on land use and cover
changes, conversion trends, and other related patterns. The spatial dimensions of land use and
cover support policymakers and scientists in making well-informed decisions, as alterations in
these patterns indicate shifts in economic and social conditions. Monitoring such changes with the
help of Advanced technologies like Remote Sensing and Geographic Information Systems is
crucial for coordinated efforts across different administrative levels. Advanced technologies like
Remote Sensing and Geographic Information Systems
9
Changes in vegetation cover refer to variations in the distribution, composition, and overall
structure of plant communities across different temporal and spatial scales. These changes can
occur natural.
Main Java[All of the Base Concepts}.docxadhitya5119
This is part 1 of my Java Learning Journey. This Contains Custom methods, classes, constructors, packages, multithreading , try- catch block, finally block and more.
Walmart Business+ and Spark Good for Nonprofits.pdfTechSoup
"Learn about all the ways Walmart supports nonprofit organizations.
You will hear from Liz Willett, the Head of Nonprofits, and hear about what Walmart is doing to help nonprofits, including Walmart Business and Spark Good. Walmart Business+ is a new offer for nonprofits that offers discounts and also streamlines nonprofits order and expense tracking, saving time and money.
The webinar may also give some examples on how nonprofits can best leverage Walmart Business+.
The event will cover the following::
Walmart Business + (https://business.walmart.com/plus) is a new shopping experience for nonprofits, schools, and local business customers that connects an exclusive online shopping experience to stores. Benefits include free delivery and shipping, a 'Spend Analytics” feature, special discounts, deals and tax-exempt shopping.
Special TechSoup offer for a free 180 days membership, and up to $150 in discounts on eligible orders.
Spark Good (walmart.com/sparkgood) is a charitable platform that enables nonprofits to receive donations directly from customers and associates.
Answers about how you can do more with Walmart!"
How to Add Chatter in the odoo 17 ERP ModuleCeline George
In Odoo, the chatter is like a chat tool that helps you work together on records. You can leave notes and track things, making it easier to talk with your team and partners. Inside chatter, all communication history, activity, and changes will be displayed.
বাংলাদেশের অর্থনৈতিক সমীক্ষা ২০২৪ [Bangladesh Economic Review 2024 Bangla.pdf] কম্পিউটার , ট্যাব ও স্মার্ট ফোন ভার্সন সহ সম্পূর্ণ বাংলা ই-বুক বা pdf বই " সুচিপত্র ...বুকমার্ক মেনু 🔖 ও হাইপার লিংক মেনু 📝👆 যুক্ত ..
আমাদের সবার জন্য খুব খুব গুরুত্বপূর্ণ একটি বই ..বিসিএস, ব্যাংক, ইউনিভার্সিটি ভর্তি ও যে কোন প্রতিযোগিতা মূলক পরীক্ষার জন্য এর খুব ইম্পরট্যান্ট একটি বিষয় ...তাছাড়া বাংলাদেশের সাম্প্রতিক যে কোন ডাটা বা তথ্য এই বইতে পাবেন ...
তাই একজন নাগরিক হিসাবে এই তথ্য গুলো আপনার জানা প্রয়োজন ...।
বিসিএস ও ব্যাংক এর লিখিত পরীক্ষা ...+এছাড়া মাধ্যমিক ও উচ্চমাধ্যমিকের স্টুডেন্টদের জন্য অনেক কাজে আসবে ...
A workshop hosted by the South African Journal of Science aimed at postgraduate students and early career researchers with little or no experience in writing and publishing journal articles.
it describes the bony anatomy including the femoral head , acetabulum, labrum . also discusses the capsule , ligaments . muscle that act on the hip joint and the range of motion are outlined. factors affecting hip joint stability and weight transmission through the joint are summarized.
Pride Month Slides 2024 David Douglas School District
Cummingsdceluna2012
1. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 1 WRLC & George Washington University
Michael Cummings
The George Washington University
James O. Austin
Washington Research Library Consortium
From Voyager to your website
Using Linux Shell scripts and Oracle SQL*Plus to generate web pages
ELUNA 2012 Salt Lake City, UT
2. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 2 WRLC & George Washington University
• About WRLC and GWU
• WRLC services / reports
• ExLibris MS Access reports
• Oracle SQL*Plus
• GWU New Books List
• Steps to creating the List
• Setup at Your Library
Install SQL*Plus on Linux
Get the newbooks scripts
Code Walk Through
• Questions?
Agenda
Agenda
3. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 3 WRLC & George Washington University
Georgetown
University
American
University
Catholic
University
Gallaudet
University
About WRLC and GWU
Voyager 8
9.6 million bibliographic records
10.5 million holdings
5.8 million items
4. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 4 WRLC & George Washington University
“Canned Reports”
WRLC provides technical services, including reports
5. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 5 WRLC & George Washington University
Microsoft Access reports from ExLibris are often utilized
Reports.mdb
6. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 6 WRLC & George Washington University
Linux
Alternative to MS Access: Oracle SQL*Plus (for Linux)
7. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 7 WRLC & George Washington University
George Washington University Libraries New Books List one example
8. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 8 WRLC & George Washington University
George Washington University Libraries New Books List Updated weekly
9. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 9 WRLC & George Washington University
George Washington University Libraries New Books List Call Number Guide
10. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 10 WRLC & George Washington University
George Washington University Libraries New Books List RSS Menu
11. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 11 WRLC & George Washington University
George Washington University Libraries New Books List RSS feed
12. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 12 WRLC & George Washington University
George Washington University New Titles, Media another example
13. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 13 WRLC & George Washington University
George Washington University New Titles, Media
14. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 14 WRLC & George Washington University
Steps to creating the New Book Shelf web page Pick and Scan
15. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 15 WRLC & George Washington University
<1> Connect to the web server
via SSH.
Oracle SQL*Plus
Shell / Perl
you could
use a cron
task instead
Shell scripts and SQL*Plus
<2> Run the newbookshelf shell script.
Steps to creating the New Book Shelf web page
16. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 16 WRLC & George Washington University
Setup at your library
17. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 17 WRLC & George Washington University
Install SQL*Plus on Linux
• These instructions have been validated using
Ubuntu 10.04 LTS in both i686 and x64 desktop
and server editions.
• In order to download files from Oracle, you will
need to register for a free account at
Oracle.com
• We presume in these instructions that you are
using the BASH shell.
• The person performing the setup needs root
user sudo rights, or root account.
Assumptions
18. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 18 WRLC & George Washington University
Install SQL*Plus on Linux Get files from Oracle
• To obtain the required installable packages, navigate to
http://www.oracle.com/technetwork/indexes/downloads/index.html
Instant Client Package - Basic
Instant Client Package - SQL*Plus
• Scroll down to the Database category and choose Instant Client.
• Choose the appropriate Operating System.
• Check the box indicating you accept the licensing agreement.
• Download the two client packages listed below in .rpm format.
We recommend 10.2.0.4
• Transfer the two files to the Linux server if you downloaded them
somewhere else first.
19. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 19 WRLC & George Washington University
Install SQL*Plus on Linux Install files from Oracle
The next steps are completed in a terminal window.
Convert the .rpm packages to .deb to install them in Ubuntu.
Do this by using an application called 'alien'.
If it is not already installed, you can do so by typing:
sudo apt-get install alien
Next, navigate to where you saved the .rpm packages and type:
sudo alien -k oracle-instantclient*.rpm
The .deb packages are ready to be installed. Do so by typing:
sudo dpkg -i oracle-instantclient*basic*.deb
sudo dpkg -i oracle-instantclient*sqlplus*.deb
20. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 20 WRLC & George Washington University
Install SQL*Plus on Linux
The library files are installed but we must create an environment variables
called LD_LIBRARY_PATH and SQLPATH in order for SQL*Plus to locate
them. We'll do this by typing:
gedit ~/.bashrc and pasting into it:
export LD_LIBRARY_PATH=/usr/lib/oracle/10.2.0.4/client64/lib
export SQLPATH=/usr/lib/oracle/10.2.0.4/client64/lib
Note: The path to ../10.2.0.4/client64/lib will be different depending on which version of SQL*Plus you
installed and which architecture your platform runs on. Change '10.2.0.4' and 'client64' part of the
path accordingly. If you are installing on a server platform use vi or nano instead of gedit.
We need to fix one more dependency, so do: sudo apt-get install libaio1
You may now go ahead and delete the .rpm files downloaded and subsequent
.deb that were created.
Install files from Oracle
21. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 21 WRLC & George Washington University
Oracle SQL*Plus is now installed and configured. Create a blank
tnsnames.ora file in your home directory by typing:
touch ~/tnsnames.ora
Create an environment variable so SQL*Plus can reference this tnsnames.ora
file we created.
Type: gedit ~/.bashrc and paste into it: export TNS_ADMIN=~
Logout of your account and then log back in to apply the changes to your
shell.
Note: use sqlplus or sqlplus64 as appropriate and change your USERNAME, PASSWORD, HOSTNAME, PORT and
SID as applicable.
You can test your installation by typing on one line:
sqlplus
USERNAME/PASSWORD@'(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(
HOST=HOSTNAME)(PORT=1521)))(CONNECT_DATA=(SID=VGER)))‘
Install SQL*Plus on Linux
22. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 22 WRLC & George Washington University
You can put the appropriate information in your tnsnames.ora file using
the following as a template:
IDENTIFIER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL= TCP)(Host=HOSTNAME)(Port= 1521))
(CONNECT_DATA = (SID = VGER))
)
You will then be able to connect with the following command:
sqlplus USERNAME/PASSWORD@IDENTIFIER
Install SQL*Plus on Linux
23. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 23 WRLC & George Washington University
Download the files from https://github.com/cummingsm/VoyagerELUNA2012
Get the newbooks scripts, install instructions, this slide file
24. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 24 WRLC & George Washington University
pageHeader.template
lcguideHeaderpt1.out
lcguideHeaderpt2.out
lcguideFactory.out
authorsectionHeader.template
callnumbersectionFactory.out
authorsectionFactory.out
titlesectionHeader.template
titlesectionFactory.out
pagefooterFactory.out
Sections of newlibrarybooks.html
The completed web page is a
combination of several sections, some
are boilerplate templates, others are
rows of information output produced by
the script having parsed and
reformatted the SQL results.
• Page header
• The LC Call Number and RSS guide
• List sorted by Call Number
• List sorted by Author
• List sorted by Title
• Page footer
We also generate separate RSS pages.
25. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 25 WRLC & George Washington University
newbookshelf.sh
This Shell script calls the other shell and Perl scripts,
and the SQLplus query. (Snippet shown on next slide)
sqlplusQuery.sh
Reads several parameters from the configuration file config.cnf
(Oracle username, password, port, host, etc) and generates
tempQuery.sh. It saves a SQL statement in newbook.sql.
Then it runs tempQuery.sh which saves output in
a tab-delimited file named tbl_newbooklocation.tab
config.cnf
This is the local configuration setting file.
Example: ORACLEPORT=1521
You must edit it.
Code walk-through pg 1 of 17
26. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 26 WRLC & George Washington University
log=/tmp/newlibrarybooks.log
echo "newbookshelf.sh " > $log
date >> $log
# run the SQLPlus query
echo "calling sqlplusQuery.sh" >> $log
sh sqlplusQuery.sh;
echo -n ':::::::::: Processing the new libray books query output :';
#
echo 'Step 1: calling doPrelim.sh to save previous file' >> $log
sh doPrelim.sh
echo -n ':'
echo 'Step 2: calling sortCallNumbers.sh (and sortLC.pl) ' >> $log
sh sortCallNumbers.sh;
.
. s n i p
.
echo 'DONE!'
echo 'Copy newlibrarybooks.html file to web site directory; copy /rss
directory and files to a directory below the one containing
newlibrarybooks.html.'
newbookshelf.shCode walk-through pg 2 of 17
User runs
this script.
newbookshelf.sh calls the other scripts and creates the log file.
27. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 27 WRLC & George Washington University
#
ORACLEUSER =`grep ORACLEUSER config.cnf | cut -f2 -d'='`
ORACLEPWD =`grep ORACLEPWD config.cnf | cut -f2 -d'='`
ORACLEHOST =`grep ORACLEHOST config.cnf | cut -f2 -d'='`
ORACLEPORT =`grep ORACLEPORT config.cnf | cut -f2 -d'='`
ORACLESID =`grep ORACLESID config.cnf | cut -f2 -d'='`
ORACLEPATH =`grep ORACLEPATH config.cnf | cut -f2 -d'='`
myTEMPLOC =`grep TEMPLOC config.cnf | cut -f2 -d'='`
#
LD_LIBRARY_PATH=$ORACLEPATH
SQLPATH=$ORACLEPATH
#
# Generate the complete sql file by merging templates with values from the config file
#
cat sqlplus_newbooktop.template > newbook.sql
echo "item.temp_location='$myTEMPLOC'" >> newbook.sql
cat sqlplus_newbookbottom.template >> newbook.sql
sqlplusQuery.shCode walk-through pg 3 of 17
Read config
file. Make
SQL from
template.
sqlplusQuery.sh generates the SQL command and query statement
28. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 28 WRLC & George Washington University
# Output commands,parameters to shell script
cmdstring_exec=$SQLPATH/sqlplus
cmdstring_acct=$ORACLEUSER/$ORACLEPWD@
cmdstring_desc="'(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)
(HOST=$ORACLEHOST)(PORT=$ORACLEPORT)))(CONNECT_DATA=(SID=$ORACLESID)))'"
cmdstring_file="< newbook.sql"
echo 'LD_LIBRARY_PATH='$ORACLEPATH > tempQuery.sh
echo 'SQL_PATH='$ORACLEPATH >> tempQuery.sh
echo 'export LD_LIBRARY_PATH' >> tempQuery.sh
echo 'export SQLPATH' >> tempQuery.sh
echo $cmdstring_exec $cmdstring_acct$cmdstring_desc $cmdstring_file >>
tempQuery.sh
#
# run the script
#
sh tempQuery.sh
sqlplusQuery.sh
Generate
a command
line; run it
sqlplusQuery.sh executes the query
Code walk-through pg 4 of 17
29. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 29 WRLC & George Washington University
set ECHO OFF
set COLSEP ' '
set LINESIZE 3000
set PAGESIZE 500
set WRAP OFF
set HEADING OFF
set FEEDBACK OFF
set SCAN OFF
set ESCAPE
column callnum Format A30
column callnumgroup Format A1
column title Format A255
column bib Format 99999999
SPOOL tbl_newbooklocation.tab
http://ss64.com/ora/syntax-sqlplus-set.html
SQL*PLUS set statements
Optional
formatting
newbook.sql
Code walk-through pg 5 of 17
30. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 30 WRLC & George Washington University
select
bib_vw.call_no as callnum,
bib_vw.call_no as callnumgroup,
bib_item.bib_id as bib,
bib_text.title,
bib_text.author || ' ' as author_td,
publisher || ' ' || pub_place || ' ' || publisher_date as pub
from
bib_vw,
bib_item,
bib_text,
item
SQL Query
Author
always has
the string
Code walk-through pg 6 of 17
31. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 31 WRLC & George Washington University
SQL Query
where
item.temp_location='$myTEMPLOC'
and
bib_vw.bib_id=bib_text.bib_id
and
bib_text.bib_id=bib_item.bib_id
and
bib_item.item_id=item.item_id
and
bib_vw.call_no NOT LIKE 'GW%'
and
…etc
bib_vw.call_no NOT LIKE '9%' and bib_vw.call_no
is not NULL
order by bib_vw.call_no
/
SPOOL OFF
We filter
certain
callnums
Temp loc
from the
config file
Code walk-through pg 7 of 17
32. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 32 WRLC & George Washington University
sortCallNumbers.sh
Removes the query statement from the query output and then
passes the output to a Perl script (sortLC.pl) for better
sorting by LC Class call number. Result is sortedfile.tab
callNumberFactory.sh
This script and others with “Factory” in the name produce a
file with snippets of HTML code.
Using awk, read sortedfile.tab and generate the HTML section
listing the titles sorted by call number.
doPrelim.sh
Removes problem characters from tbl_newbooklocation.tab
Saves a backup copy of the previous html and sql output files
Code walk-through pg 8 of 17
33. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 33 WRLC & George Washington University
callNumberFactory.sh generates callnumberFactory.out
callnumberFactory.out contains rows for an HTML table.
The lines will look like this in a browser:
callNumberFactory.shCode walk-through pg 9 of 17
34. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 34 WRLC & George Washington University
# Initialize flag to indicate if a row was printed.
# This flag determines whether to print a shaded row or not
rowprint=0;
#
max=`wc -l sortedfile.tab | cut -c1-3`
for ((i=1; i<=$max; i++))
do
#
# Grab one line of data from the file and save it temporarily in a file
#
awk NR==$i sortedfile.tab> htmlfactory.tmp
# Get contents of fields from the temporary file into table data elements
td1=`cat htmlfactory.tmp | cut -f1`
td2=`cat htmlfactory.tmp | cut -f2`
td3=`cat htmlfactory.tmp | cut -f3`
td4=`cat htmlfactory.tmp | cut -f4`
td5=`cat htmlfactory.tmp | cut -f5`
td6=`cat htmlfactory.tmp | cut -f6`
callNumberFactory.sh
tab is the
default
delimiter
callNumberFactory.sh reads the fields in the SQL output file
Code walk-through pg 10 of 17
35. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 35 WRLC & George Washington University
# Set the background color of each row.
if [ "$rowprint" == "0" ]; then
rowcolor=FFFFFF; rowprint=1;
else
rowcolor=E4DFE6; rowprint=0;
fi
# Generate HTML tags around the retrieved data
NEWROW="<TR BGCOLOR=#"$rowcolor" valign=TOP><TD grp="$td2">
"
CALLNUMBER="<A HREF="http://"$myOPAC"/cgi-bin/Pwebrecon.cgi?BBID=
"$td3"">"$td1"</A></TD>";
TITLE="<TD>"$td4"</TD>";
AUTHOR="<TD>"$td5" </TD>";
PUBLISHER="<TD>"$td6"</TD></TR>";
#
# Append each generated HTML line to the output file
echo $NEWROW $CALLNUMBER $TITLE $AUTHOR $PUBLISHER >> callnumberFactory.out
done
callNumberFactory.sh
callNumberFactory.sh outputs HTML with field values
Code walk-through pg 11 of 17
36. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 36 WRLC & George Washington University
callNumberSectionFactory.sh
callNumberSectionFactory.sh prints headings and inserts relevant lines
from callnumberFactory.out after the heading.
callNumberSectionFactory.sh generates callnumbersectionFactory.out
Now the output will look like this:
Code walk-through pg 12 of 17
37. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 37 WRLC & George Washington University
lcguideFactory.sh
lcguideFactory.sh generates lcguideFactory.out
The RSS pages generated by this script are the .xml files in the rss directory
The RSS icon displayed on the page is feed.png
rsspageFactory.sh and makeRSS.pl generate multiple .xml files
Code walk-through pg 13 of 17
38. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 38 WRLC & George Washington University
authorSectionFactory.sh & titleSectionFactory.sh
authorSectionFactory.sh generates authorsectionFactory.out
titleSectionFactory.sh generates titlesectionFactory.out
Code walk-through pg 14 of 17
39. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 39 WRLC & George Washington University
webPageMergeFactory.sh
WEB=webpagemergeFactory.out
echo ''> $WEB
# Static HTML text page header with date stamp
cat pageHeader.template >> $WEB
cat lcguideHeaderpt1.template >> $WEB
date >> $WEB
cat lcguideHeaderpt2.template >> $WEB
cat lcguideFactory.out >> $WEB
# call number section
cat callnumbersectionFactory.out >> $WEB
# Heading for the author section
cat authorsectionHeader.template >> $WEB
webPageMergeFactory.sh generates webpagemergeFactory.out
Continues
next page…
Code walk-through pg 15 of 17
40. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 40 WRLC & George Washington University
# Rows of titles by author
cat authorsectionFactory.out >> $WEB
#
# Heading for the title section
cat titlesectionHeader.template >> $WEB
#
# Rows of titles
cat titlesectionFactory.out >> $WEB
#
# Static HTML text footer
cat pagefooterFactory.out >> $WEB
#
cp $WEB $HOME/public_html/newlibrarybooks.html
#
webPageMergeFactory.sh
pageHeader.template
lcguideHeaderpt1.out
lcguideHeaderpt2.out
lcguideFactory.out
authorsectionHeader.template
callnumbersectionFactory.out
authorsectionFactory.out
titlesectionHeader.template
titlesectionFactory.out
pagefooterFactory.out
Sections of newlibrarybooks.html
Code walk-through pg 16 of 17
41. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 41 WRLC & George Washington University
The XML files for RSS pages are saved in the directory named “rss”.
There is one file per LC Class heading.
RSS files
newlibrarybooksB.xml
newlibrarybooksC.xml
newlibrarybooksD.xml
newlibrarybooksH.xml
.
.
.
newlibrarybooksR.xml
newlibrarybooksT.xml
/rss
Code walk-through pg 17 of 17
42. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 42 WRLC & George Washington University
The last steps are publishing the HTML and RSS files
1. Copy $HOME/public_html/newlibrarybooks.html to the directory
where your web server will display the page. (Copy rssnb.png too)
2. Copy the directory rss, and the .xml files it contains, to a directory
named rss located under the directory where you have placed
newlibrarybooks.html
• At GWU we perform the above steps with commands placed at
the end of the webpagemergeFactory.sh file
Publish the files
43. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 43 WRLC & George Washington University
You may want to customize further
• Add steps to the end of webPageMergeFactory.sh
that copy the files to your web directory
• Customize the page header template with your
own library branding
• You may trigger the process automatically
with a cron task.
• Edit the SQL template for your own needs.
• If you prefer CSS formatting, convert the script from
HTML <table> to CSS <div> statements
44. From Voyager to your website: Using Linux Shell scripts and Oracle SQL*Plus to generate web pages.
ExLibris ELUNA 2012 Salt Lake City, UT 44 WRLC & George Washington University
QUESTIONS
In this presentation you learned how to:
• install SQL*Plus on Linux
• download GWU’s new books scripts
• edit GWU’s scripts
We hope you can adapt these scripts
for use at your own library.
Questions?