com presentations: Added PHP UK talk: nonscalar-phpuk19.xml slides/mongodb/document-validation.xml slides/mongodb/gin_sol ution.png slides/mongodb/mongodb-logo.png slides/mongod b/postgresql-logo.png slides/mongodb/redis-300dpi.p ng slides/mongodb/scalar-validate.xml templates/default/b reak.ezt templates/default/slide.ezt

[email protected] (Derick Rethans) Tue, 19 Feb 2019 18:11:19 +0000
Newsgroups php.pres
Message-ID <[email protected]>
Commit:    fe6d479b9ae23e45fc8073b87a11a20f18533be8
Author:    Derick Rethans <[email protected]>         Tue, 19 Feb 2019 18:11:19 +0000
Parents:   ebe23a5a70304eb8df8d0ba4201eb2419a04236d
Branches:  master

Link:       http://git.php.net/?p=presentations.git;a=commitdiff;h=fe6d479b9ae23e45fc8073b87a11a20f18533be8

Log:
Added PHP UK talk

Changed paths:
  A  nonscalar-phpuk19.xml
  M  slides/mongodb/document-validation.xml
  M  slides/mongodb/gin_solution.png
  M  slides/mongodb/mongodb-logo.png
  M  slides/mongodb/postgresql-logo.png
  M  slides/mongodb/redis-300dpi.png
  M  slides/mongodb/scalar-validate.xml
  M  templates/default/break.ezt
  M  templates/default/slide.ezt


Diff:
diff --git a/nonscalar-phpuk19.xml b/nonscalar-phpuk19.xml
new file mode 100644
index 0000000..560e691
--- /dev/null
+++ b/nonscalar-phpuk19.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="utf-8"?>
+<presentation css="derick.css">
+<topic>MongoDB</topic>
+<title>Storing Non-Scalar Data</title>
+<event>PHP UK Conference</event>
+<location>London, UK</location>
+<date>February 21st, 2019</date>
+<speaker>Derick Rethans</speaker>
+<email>[email protected]</email>
+<twitter>derickr</twitter>
+<url>http://derickrethans.nl/talks.html</url>
+<joindin>https://joind.in/25887</joindin>
+<slide>slides/mongodb/title.xml</slide>
+<!-- <slide>slides/mongodb/me.xml</slide> -->
+
+<slide>slides/mongodb/scalar-non-scalar-examples.xml</slide>
+<!-- <slide>slides/mongodb/scalar-non-scalar-example-vector.xml</slide> -->
+<slide>slides/mongodb/scalar-non-scalar-example-tag-cloud.xml</slide>
+<slide>slides/mongodb/scalar-non-scalar-example-product-properties.xml</slide>
+<!-- <slide>slides/mongodb/scalar-non-scalar-example-addresses.xml</slide> -->
+<slide>slides/mongodb/scalar-what-is-it-not.xml</slide>
+
+<slide>slides/mongodb/scalar-agenda.xml</slide>
+
+Intro into DB types and their data types
+<slide>slides/mongodb/scalar-section-dbs-and-types.xml</slide>
+
+    Key/Value:
+        Redis
+            LISTS
+            SETS
+            HASHES
+            Sorted SET
+<slide>slides/mongodb/scalar-key-value.xml</slide>
+<slide>slides/mongodb/scalar-redis.xml</slide>
+<!-- <slide>slides/mongodb/scalar-redis-lists.xml</slide> -->
+<slide>slides/mongodb/scalar-redis-sets.xml</slide>
+<slide>slides/mongodb/scalar-redis-hashses.xml</slide>
+<!-- <slide>slides/mongodb/scalar-redis-sorted-set.xml</slide> -->
+
+    Document:
+        MongoDB
+        CouchDB
+        Elastic Search
+<slide>slides/mongodb/scalar-document.xml</slide>
+<slide>slides/mongodb/scalar-mongodb.xml</slide>
+<slide>slides/mongodb/document-complex.xml</slide>
+<slide>slides/mongodb/phplib-crud-insert.xml</slide>
+
+    Relational:
+        MySQL
+            JSON
+        PostgreSQL
+            HSTORE
+            JSON
+            JSONB
+<slide>slides/mongodb/scalar-relational.xml</slide>
+<slide>slides/mongodb/scalar-postgresql.xml</slide>
+<slide>slides/mongodb/scalar-postgresql-hstore.xml</slide>
+<slide>slides/mongodb/scalar-postgresql-jsonb.xml</slide>
+<slide>slides/mongodb/scalar-postgresql-jsonb-example.xml</slide>
+
+<!-- <slide>slides/mongodb/scalar-storage-overview.xml</slide> -->
+
+<slide>slides/mongodb/scalar-section-query.xml</slide>
+
+Manipulation
+
+    Query
+        Query operators for $in, $elemMatch, etc
+        Query operations on nested fields
+
+<slide>slides/mongodb/scalar-query-redis.xml</slide>
+<slide>slides/mongodb/scalar-query-mongodb.xml</slide>
+<slide>slides/mongodb/scalar-query-mongodb-aggregation.xml</slide>
+<slide>slides/mongodb/scalar-query-postgresql-hstore.xml</slide>
+<slide>slides/mongodb/scalar-query-postgresql-jsonb.xml</slide>
+
+    Indexes
+        Redis
+        MongoDB
+        CouchDB
+        ElasticSearch
+        MySQL
+            only through virtual columns
+            Not on arrays
+        PostgreSQL
+            GIN/GIST 
+        Geospatial from GeoJSON sources (not PostGIS)
+
+<slide>slides/mongodb/indexes-title.xml</slide>
+<slide>slides/mongodb/scalar-index-redis.xml</slide>
+<slide>slides/mongodb/index.xml</slide>
+<slide>slides/mongodb/scalar-index-postgresql.xml</slide>
+
+
+<slide>slides/mongodb/scalar-section-manipulation.xml</slide>
+    Storing/Update
+        Atomicity
+            ACID
+            Single document with update specifiers
+        Partitioning on JSON data
+        Manipulation of JSON data
+<slide>slides/mongodb/scalar-atomicity.xml</slide>
+<!-- <slide>slides/mongodb/acid.xml</slide> -->
+<slide>slides/mongodb/scalar-nosql-acid.xml</slide>
+<slide>slides/mongodb/scalar-atomic-redis.xml</slide>
+<slide>slides/mongodb/update-atomicity.xml</slide>
+
+    Schema validation
+        None can do that, besides MongoDB
+
+<slide>slides/mongodb/scalar-validate.xml</slide>
+<slide>slides/mongodb/document-validation.xml</slide>
+
+<slide>slides/mongodb/scalar-conclusion.xml</slide>
+
+
+Conclusion
+
+
+
+<slide>slides/mongodb/questions.xml</slide>
+<slide>slides/mongodb/resources.xml</slide>
+
+</presentation>
diff --git a/slides/mongodb/document-validation.xml b/slides/mongodb/document-validation.xml
index b351316..a8c99bb 100644
--- a/slides/mongodb/document-validation.xml
+++ b/slides/mongodb/document-validation.xml
@@ -1,5 +1,5 @@
 <slide>
-<title>Enforcing Schema</title>
+<title>MongoDB Data Validation</title>
 
 <blurb>Allows you to set a *validator*, a query that every new or updated document must match</blurb>
 <blurb>Example:</blurb>
diff --git a/slides/mongodb/gin_solution.png b/slides/mongodb/gin_solution.png
index af3b68b..5191793 100644
Binary files a/slides/mongodb/gin_solution.png and b/slides/mongodb/gin_solution.png differ
diff --git a/slides/mongodb/mongodb-logo.png b/slides/mongodb/mongodb-logo.png
index 01a5c23..582c78e 100644
Binary files a/slides/mongodb/mongodb-logo.png and b/slides/mongodb/mongodb-logo.png differ
diff --git a/slides/mongodb/postgresql-logo.png b/slides/mongodb/postgresql-logo.png
index 4515240..c0a0612 100644
Binary files a/slides/mongodb/postgresql-logo.png and b/slides/mongodb/postgresql-logo.png differ
diff --git a/slides/mongodb/redis-300dpi.png b/slides/mongodb/redis-300dpi.png
index ad94810..ce71c13 100644
Binary files a/slides/mongodb/redis-300dpi.png and b/slides/mongodb/redis-300dpi.png differ
diff --git a/slides/mongodb/scalar-validate.xml b/slides/mongodb/scalar-validate.xml
index b97ec20..55c685f 100644
--- a/slides/mongodb/scalar-validate.xml
+++ b/slides/mongodb/scalar-validate.xml
@@ -4,7 +4,7 @@
 <list>
 	<bullet>*Relational Databases*:<br/>Standard, as a schema is pre-defined</bullet>
 	<bullet>*Relational Databases*<br/>&#160;&#160;&#160;&#160;&#160;with HSTORE, JSON, or JSONB:<br/>Generally not possible</bullet>
-	<bullet>*NoSQL Databases*:<br/>Generally not possible</bullet>
+	<bullet>*NoSQL Databases*:<br/>Not possible with most databases</bullet>
 </list>
 
 </slide>
diff --git a/templates/default/break.ezt b/templates/default/break.ezt
index 86b3032..e98c558 100644
--- a/templates/default/break.ezt
+++ b/templates/default/break.ezt
@@ -1,4 +1,5 @@
 {use $node}
-{var $lines = get_attribute( $node, 'lines' )}
+{var $lines = 0}
+{if has_attribute( $node, 'lines' )}{$lines = get_attribute( $node, 'lines' )}{/if}
 {var $i = 0}
 <br/>{while $i < $lines - 1}<br />{$i++}{/while}
diff --git a/templates/default/slide.ezt b/templates/default/slide.ezt
index c211d3d..1b247dd 100644
--- a/templates/default/slide.ezt
+++ b/templates/default/slide.ezt
@@ -15,7 +15,7 @@
 	<!--[if lt IE 8]>
 	<script src="IE8.js" type="text/javascript"></script>
 	<![endif]-->
-	<script type="text/javascript" src="/jquery-1.3.2.min.js"></script>
+	<script type="text/javascript" src="/jquery-3.3.1.js"></script>
 	<script type="text/javascript">
 {literal}
 
@@ -58,11 +58,11 @@ $(document).ready(function() {
 {/literal}
 {/if}
 {literal}
-    $("*[class^='effect']").hide();
-    $("*[class^='effect-fade-out']").show();
-	var f = $("div div:first").select(":first");
+	$("*[class^='effect']").hide();
+	$("*[class^='effect-fade-out']").show();
+//	var f = $("div div:first").select(":first");
 
-	$("body").addClass(f[0].className);
+//	$("body").addClass(f[0].className);
 {/literal}
 {literal}
 });
@@ -107,7 +107,7 @@ function processPrevEvent()
 {literal}
 }
 
-$('*').keypress(function(event) {
+$('*').on("keydown", function(event) {
     if (event.keyCode == '34' || event.keyCode == '39') {
         processNextEvent();
         event.preventDefault();