-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
joomla_extensions_development.xml
116 lines (92 loc) · 4.99 KB
/
joomla_extensions_development.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright © 2022-2024 Nikolaos Dionysopoulos
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free
Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with
no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included
in the section entitled "GNU Free Documentation License".
-->
<book version="5.1" xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xila="http://www.w3.org/2001/XInclude/local-attributes"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:trans="http://docbook.org/ns/transclusion"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:m="http://www.w3.org/1998/Math/MathML"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:db="http://docbook.org/ns/docbook">
<info>
<title>Joomla Extensions Development</title>
<subtitle>The missing <trademark>Joomla</trademark> reference for
extension developers</subtitle>
<author>
<personname><firstname>Nicholas</firstname><othername>K.</othername><surname>Dionysopoulos</surname></personname>
<personblurb>
<para>Nicholas is a software developer, mostly known for his work in
Akeeba Backup and Admin Tools. He's been writing Joomla extensions
since 2006 — and software in general for another decade, since his
middle school years. He is a regular contributor to the Joomla
project. When he's not writing code he enjoys writing documentation to
spread the knowledge and the Joomla love. He lives in Greece with his
wife, daughter and their two cats.</para>
</personblurb>
</author>
<pubdate>January 2024</pubdate>
<copyright>
<year>2022-2024</year>
<holder>Nikolaos Dionysopoulos</holder>
</copyright>
<abstract>
<para>Developing Joomla extensions is fun and fulfilling. However, its
API evolves to better suit the changing times and PHP best practices.
When Joomla 4 came out with its richer, brand new API there was no
documentation to tell developers how to update and keep developing their
extensions. Moreover, over a decade of API stagnation and lack of
documentation led developers to complacency, bad code, and
unmaintainable code. This book aims to distill my experience writing
Joomla software since 2006 and includes some useful background on how
some features were decided, how they are meant to be used, and where
they fit in the larger picture of writing efficient, maintainable code.
This is neither a tutorial nor a reference book. It's more of a
practical guide through the Joomla extensions development API.</para>
<para>This book covers development of Joomla! extensions under Joomla
versions 4 and 5.</para>
</abstract>
<legalnotice>
<para>Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version
1.3 or any later version published by the Free Software Foundation; with
no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
copy of the license is included in the section entitled "<link
linkend="fdl-license">GNU Free Documentation License</link>".</para>
<para>—</para>
<para>This work is not affiliated with or endorsed by the Joomla!
Project. It is not supported or warranted by the Joomla! Project or Open
Source Matters. The Joomla! logo is used under a limited license granted
by Open Source Matters, the trademark holder in the United States and
other countries.</para>
<para>—</para>
<para>All code found in the code samples in this book is free software;
you can redistribute it and/or modify it under the terms of the GNU
General Public License as published by the Free Software Foundation;
either version 2 of the License, or (at your option) any later
version.</para>
<para>This sample program code is distributed in the hope that it will
be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the <link
linkend="gpl">GNU General Public License</link> for more details.</para>
<para>You should have received a copy of the GNU General Public License
along with this sample program code; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
USA</para>
</legalnotice>
</info>
<xi:include href="sections/preface.xml"/>
<xi:include href="sections/concepts.xml"/>
<xi:include href="sections/components.xml"/>
<xi:include href="sections/plugins.xml"/>
<xi:include href="sections/modules.xml"/>
<xi:include href="sections/advice.xml"/>
<xi:include href="sections/fdl.xml"/>
<xi:include href="sections/gpl.xml"/>
</book>