<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Awesome work, Ale!</p>
<p>I assume it would be good to announce the new revised cookbook on
blog.qgis.org?</p>
<p>Do you want to write the blog post or should I prepare something
based on your report?</p>
<p>Regards,</p>
<p>Anita</p>
<div class="moz-cite-prefix">On 06.04.2020 16:14, Tim Sutton wrote:<br>
</div>
<blockquote type="cite"
cite="mid:39457059-6F48-4456-8C38-A5B220628C70@kartoza.com">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Wow - absolutely awesome Ale, and thank you so much for the
additional effort you donated!
<div class=""><br class="">
</div>
<div class="">Regards</div>
<div class=""><br class="">
</div>
<div class="">Tim<br class="">
<div><br class="">
<blockquote type="cite" class="">
<div class="">On 6 Apr 2020, at 13:59, Alessandro Pasotti
<<a href="mailto:apasotti@gmail.com" class=""
moz-do-not-send="true">apasotti@gmail.com</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div class="">Hi all,<br class="">
<br class="">
first of all I would like to thank you all and all the
QGIS sponsors<br class="">
and donors together with the documentation team for
making this review<br class="">
process possible. I also wish to thank Martin Dobias for
his help in<br class="">
spotting out an issue in one snippet with Plugin Layers<br
class="">
<br class="">
To be completely honest, this task took me quite a bit
more time than<br class="">
planned, so consider the additional time that I spent on
it as a<br class="">
voluntary contribution by me (or QCooperative as you
prefer :)<br class="">
<br class="">
As it was initially planned I was able to review all the
code snippets<br class="">
in the cookbook and to put them under automated test in
CI.<br class="">
Before I started there were 62 tests over ~300 code
snippets, we are<br class="">
now at 303 tested snippets (302 on 3.10). Despite my
efforts (where I<br class="">
probably lost most of my time) I had to skip a handful
of snippets<br class="">
that were running perfectly well when tested manually
but failing on<br class="">
the doctest CI process:<br class="">
- task manager tests (1 out of 3 on master, 2 out of 3
on 3.10)<br class="">
- all standalone application tests (because the mocked
application is<br class="">
already started globally and it cannot be
re-initialized)<br class="">
<br class="">
Note that for a few of the most complex snippets the
test coverage is<br class="">
not 100% because the test does not really cover all
execution paths.<br class="">
<br class="">
I didn't have time to go through a reorganization of the
text contents<br class="">
but I did quickly read all the texts and I made some
small<br class="">
modifications to update the contents where the API had
substantially<br class="">
changed from the original texts.<br class="">
<br class="">
A few snippets had to be updated because of changes in
the QGIS API or<br class="">
because of the deprecation of a the methods, CRS
handling in<br class="">
particular due to the proj6 switch, but there were also
other places<br class="">
where I had to make small changes.<br class="">
<br class="">
I've found just 1 syntax error in the whole code!<br
class="">
<br class="">
The changes have been backported to the 3.10 branch.<br
class="">
<br class="">
Last but not least, I couldn't resist to add a few
sections and to do<br class="">
an more in-depth review of the server Python cookbook
section, I<br class="">
reorganized the material about plugins and I added
snippets and short<br class="">
introductory texts about the new modules and OGC APIs
architecture.<br class="">
<br class="">
A final personal consideration:<br class="">
<br class="">
I think that the cookbook is a great source of
information, not only<br class="">
for PyQgis begginers or plugin developers but also for
C++ developers:<br class="">
it contains a lot of information about the internals of
the QGIS API<br class="">
that you cannot really find anywhere else.<br class="">
<br class="">
It could probably benefit from a reorganization of a few
sections but<br class="">
it is already a great resource as it is.<br class="">
<br class="">
Cheers<br class="">
<br class="">
-- <br class="">
Alessandro Pasotti<br class="">
w3: <a href="http://www.itopen.it" class=""
moz-do-not-send="true">www.itopen.it</a><br class="">
_______________________________________________<br
class="">
Qgis-psc mailing list<br class="">
<a href="mailto:Qgis-psc@lists.osgeo.org" class=""
moz-do-not-send="true">Qgis-psc@lists.osgeo.org</a><br
class="">
<a class="moz-txt-link-freetext" href="https://lists.osgeo.org/mailman/listinfo/qgis-psc">https://lists.osgeo.org/mailman/listinfo/qgis-psc</a></div>
</div>
</blockquote>
</div>
<br class="">
<div class="">
<div style="color: rgb(0, 0, 0); font-family: Helvetica;
font-size: 12px; font-style: normal; font-variant-ligatures:
normal; font-variant-position: normal; font-variant-caps:
normal; font-variant-numeric: normal;
font-variant-alternates: normal; font-variant-east-asian:
normal; font-weight: normal; letter-spacing: normal;
text-indent: 0px; text-transform: none; white-space: normal;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
line-height: normal; text-align: center;" class=""><span>—</span></div>
<div style="color: rgb(0, 0, 0); font-family: Helvetica;
font-size: 12px; font-style: normal; font-variant-ligatures:
normal; font-variant-position: normal; font-variant-caps:
normal; font-variant-numeric: normal;
font-variant-alternates: normal; font-variant-east-asian:
normal; letter-spacing: normal; text-indent: 0px;
text-transform: none; white-space: normal; word-spacing:
0px; -webkit-text-stroke-width: 0px; line-height: normal;
text-align: center;" class="">
<div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
font-family: Helvetica; font-size: 12px; font-style:
normal; font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; orphans: auto; text-align: center;
text-indent: 0px; text-transform: none; white-space:
normal; widows: auto; word-spacing: 0px;
-webkit-text-size-adjust: auto; -webkit-text-stroke-width:
initial; text-decoration: none; font-variant-ligatures:
normal; font-variant-position: normal;
font-variant-numeric: normal; font-variant-alternates:
normal; font-variant-east-asian: normal; margin: 0px;
line-height: normal; -webkit-text-stroke-color: rgb(0, 0,
0); min-height: 14px;" class=""><br class="">
</div>
<br class="Apple-interchange-newline" style="caret-color:
rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica;
font-size: 12px; font-style: normal; font-variant-caps:
normal; font-weight: normal; letter-spacing: normal;
orphans: auto; text-align: center; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: 0px; text-decoration: none;">
<span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
font-family: Helvetica; font-size: 12px; font-style:
normal; font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; orphans: auto; text-align: center;
text-indent: 0px; text-transform: none; white-space:
normal; widows: auto; word-spacing: 0px;
-webkit-text-size-adjust: auto; -webkit-text-stroke-width:
0px; text-decoration: none;"><span><span><span><span><span><span><span><span><span><span><span><img
apple-inline="yes"
id="CAC038F0-7F6E-4D1F-9EC7-CFA8B913C0AE"
src="cid:part4.FACD60C1.9FAA2956@gmx.at" class=""></span>
<div style="caret-color: rgb(0, 0, 0);
color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px;
font-style: normal;
font-variant-caps: normal;
font-weight: normal; letter-spacing:
normal; orphans: auto; text-align:
center; text-indent: 0px;
text-transform: none; white-space:
normal; widows: auto; word-spacing:
0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
text-decoration: none;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal;
margin: 0px; line-height: normal;
-webkit-text-stroke-color: rgb(0, 0,
0); min-height: 14px;" class=""><br
class="Apple-interchange-newline">
<br
class="Apple-interchange-newline">
<br
class="Apple-interchange-newline">
<br
class="Apple-interchange-newline">
<br class="">
</div>
<div style="caret-color: rgb(0, 0, 0);
color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px;
font-style: normal;
font-variant-caps: normal;
font-weight: normal; letter-spacing:
normal; orphans: auto; text-align:
center; text-indent: 0px;
text-transform: none; white-space:
normal; widows: auto; word-spacing:
0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
text-decoration: none;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal;
margin: 0px; line-height: normal;
-webkit-text-stroke-color: rgb(0, 0,
0); min-height: 14px;" class=""><br
class="">
</div>
<div style="caret-color: rgb(0, 0, 0);
color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px;
font-style: normal;
font-variant-caps: normal;
font-weight: normal; letter-spacing:
normal; orphans: auto; text-align:
center; text-indent: 0px;
text-transform: none; white-space:
normal; widows: auto; word-spacing:
0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
text-decoration: none;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal;
margin: 0px; line-height: normal;
-webkit-text-stroke-color: rgb(0, 0,
0);" class=""><b class="">Tim Sutton</b></div>
<div style="caret-color: rgb(0, 0, 0);
color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px;
font-style: normal;
font-variant-caps: normal;
font-weight: normal; letter-spacing:
normal; orphans: auto; text-align:
center; text-indent: 0px;
text-transform: none; white-space:
normal; widows: auto; word-spacing:
0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
text-decoration: none;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal;
margin: 0px; line-height: normal;
-webkit-text-stroke-color: rgb(0, 0,
0); min-height: 14px;" class=""><br
class="">
</div>
<div style="caret-color: rgb(0, 0, 0);
color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px;
font-style: normal;
font-variant-caps: normal;
font-weight: normal; letter-spacing:
normal; orphans: auto; text-align:
center; text-indent: 0px;
text-transform: none; white-space:
normal; widows: auto; word-spacing:
0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
text-decoration: none;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal;
margin: 0px; line-height: normal;
-webkit-text-stroke-color: rgb(0, 0,
0);" class=""><b class="">Co-founder:</b><span
class="Apple-converted-space"> </span>Kartoza</div>
<div style="caret-color: rgb(0, 0, 0);
color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px;
font-style: normal;
font-variant-caps: normal;
font-weight: normal; letter-spacing:
normal; orphans: auto; text-align:
center; text-indent: 0px;
text-transform: none; white-space:
normal; widows: auto; word-spacing:
0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
text-decoration: none;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal;
margin: 0px; line-height: normal;
-webkit-text-stroke-color: rgb(0, 0,
0);" class=""><b class="">Ex Project
chair:</b><span
style="font-weight: normal;"
class=""><span
class="Apple-converted-space"> </span><a
href="http://QGIS.org" class=""
moz-do-not-send="true">QGIS.org</a></span></div>
<div style="caret-color: rgb(0, 0, 0);
color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px;
font-style: normal;
font-variant-caps: normal;
font-weight: normal; letter-spacing:
normal; orphans: auto; text-align:
center; text-indent: 0px;
text-transform: none; white-space:
normal; widows: auto; word-spacing:
0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
text-decoration: none;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal;
margin: 0px; line-height: normal;
-webkit-text-stroke-color: rgb(0, 0,
0); min-height: 14px;" class=""><br
class="">
</div>
<div style="caret-color: rgb(0, 0, 0);
color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px;
font-style: normal;
font-variant-caps: normal;
font-weight: normal; letter-spacing:
normal; orphans: auto; text-align:
center; text-indent: 0px;
text-transform: none; white-space:
normal; widows: auto; word-spacing:
0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
text-decoration: none;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal;
margin: 0px; line-height: normal;
-webkit-text-stroke-color: rgb(0, 0,
0);" class="">Visit <a
href="http://kartoza.com/"
class="" moz-do-not-send="true"><span
style="-webkit-text-stroke-color: rgb(71, 135, 255);" class="">http://kartoza.com</span></a> to
find out about open source:</div>
<div style="caret-color: rgb(0, 0, 0);
color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px;
font-style: normal;
font-variant-caps: normal;
font-weight: normal; letter-spacing:
normal; orphans: auto; text-align:
center; text-indent: 0px;
text-transform: none; white-space:
normal; widows: auto; word-spacing:
0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
text-decoration: none;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal;
margin: 0px; line-height: normal;
-webkit-text-stroke-color: rgb(0, 0,
0); min-height: 14px;" class=""><br
class="">
</div>
<div style="caret-color: rgb(0, 0, 0);
color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px;
font-style: normal;
font-variant-caps: normal;
font-weight: normal; letter-spacing:
normal; orphans: auto; text-align:
center; text-indent: 0px;
text-transform: none; white-space:
normal; widows: auto; word-spacing:
0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
text-decoration: none;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal;
margin: 0px; line-height: normal;
-webkit-text-stroke-color: rgb(0, 0,
0);" class="">Desktop GIS
programming services</div>
<div style="caret-color: rgb(0, 0, 0);
color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px;
font-style: normal;
font-variant-caps: normal;
font-weight: normal; letter-spacing:
normal; orphans: auto; text-align:
center; text-indent: 0px;
text-transform: none; white-space:
normal; widows: auto; word-spacing:
0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
text-decoration: none;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal;
margin: 0px; line-height: normal;
-webkit-text-stroke-color: rgb(0, 0,
0);" class="">Geospatial web
development</div>
<div style="caret-color: rgb(0, 0, 0);
color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px;
font-style: normal;
font-variant-caps: normal;
font-weight: normal; letter-spacing:
normal; orphans: auto; text-align:
center; text-indent: 0px;
text-transform: none; white-space:
normal; widows: auto; word-spacing:
0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
text-decoration: none;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal;
margin: 0px; line-height: normal;
-webkit-text-stroke-color: rgb(0, 0,
0);" class="">GIS Training</div>
<div style="caret-color: rgb(0, 0, 0);
color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px;
font-style: normal;
font-variant-caps: normal;
font-weight: normal; letter-spacing:
normal; orphans: auto; text-align:
center; text-indent: 0px;
text-transform: none; white-space:
normal; widows: auto; word-spacing:
0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
text-decoration: none;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal;
margin: 0px; line-height: normal;
-webkit-text-stroke-color: rgb(0, 0,
0);" class="">Consulting Services</div>
<div style="caret-color: rgb(0, 0, 0);
color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px;
font-style: normal;
font-variant-caps: normal;
font-weight: normal; letter-spacing:
normal; orphans: auto; text-align:
center; text-indent: 0px;
text-transform: none; white-space:
normal; widows: auto; word-spacing:
0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
text-decoration: none;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal;
margin: 0px; line-height: normal;
-webkit-text-stroke-color: rgb(0, 0,
0); min-height: 14px;" class=""><br
class="">
</div>
<div style="caret-color: rgb(0, 0, 0);
color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px;
font-style: normal;
font-variant-caps: normal;
font-weight: normal; letter-spacing:
normal; orphans: auto; text-align:
center; text-indent: 0px;
text-transform: none; white-space:
normal; widows: auto; word-spacing:
0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
text-decoration: none;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal;
margin: 0px; line-height: normal;
-webkit-text-stroke-color: rgb(0, 0,
0);" class=""><b class="">Skype</b>:
timlinux </div>
<div style="caret-color: rgb(0, 0, 0);
color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px;
font-style: normal;
font-variant-caps: normal;
font-weight: normal; letter-spacing:
normal; orphans: auto; text-align:
center; text-indent: 0px;
text-transform: none; white-space:
normal; widows: auto; word-spacing:
0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
text-decoration: none;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal;
margin: 0px; line-height: normal;
-webkit-text-stroke-color: rgb(0, 0,
0);" class=""><b class="">IRC:</b><span
class="Apple-converted-space"> </span>timlinux
on #qgis at <a
href="http://freenode.net"
class="" moz-do-not-send="true">freenode.net</a></div>
<div style="caret-color: rgb(0, 0, 0);
color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px;
font-style: normal;
font-variant-caps: normal;
font-weight: normal; letter-spacing:
normal; orphans: auto; text-align:
center; text-indent: 0px;
text-transform: none; white-space:
normal; widows: auto; word-spacing:
0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
text-decoration: none;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal;
margin: 0px; line-height: normal;
-webkit-text-stroke-color: rgb(0, 0,
0);" class=""><br class="">
</div>
<div style="caret-color: rgb(0, 0, 0);
color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px;
font-style: normal;
font-variant-caps: normal;
font-weight: normal; letter-spacing:
normal; orphans: auto; text-align:
center; text-indent: 0px;
text-transform: none; white-space:
normal; widows: auto; word-spacing:
0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: initial;
text-decoration: none;
font-variant-ligatures: normal;
font-variant-position: normal;
font-variant-numeric: normal;
font-variant-alternates: normal;
font-variant-east-asian: normal;
margin: 0px; line-height: normal;
-webkit-text-stroke-color: rgb(0, 0,
0);" class=""><span
style="caret-color: rgb(102, 106,
115); color: rgb(102, 106, 115);
font-family: "Proxima
Nova", sans-serif; font-size:
14px; text-align: left;
background-color: rgb(255, 255,
255);" class="">I'd love to
connect. </span><a target="_blank"
class="t-quick-start-share-link"
href="https://calendly.com/timlinux"
style="color: rgb(0, 162, 255);
text-decoration: none; cursor:
pointer; font-family:
"Proxima Nova",
sans-serif; font-size: 14px;
text-align: left;"
moz-do-not-send="true">Here's my
calendar link</a><span
style="caret-color: rgb(102, 106,
115); color: rgb(102, 106, 115);
font-family: "Proxima
Nova", sans-serif; font-size:
14px; text-align: left;
background-color: rgb(255, 255,
255);" class=""> to make finding
time easy.</span></div>
</span></span></span></span></span></span></span></span></span></span></span></div>
</div>
<br class="">
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
Qgis-psc mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Qgis-psc@lists.osgeo.org">Qgis-psc@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="https://lists.osgeo.org/mailman/listinfo/qgis-psc">https://lists.osgeo.org/mailman/listinfo/qgis-psc</a></pre>
</blockquote>
</body>
</html>