[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: www/areas/pim/development
From: Ingo Klöcker <kloecker () kde ! org>
Date: 2011-02-03 21:24:40
Message-ID: 20110203212440.9110CAC8C5 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1218702 by kloecker:
Point more pages to the corresponding KDE Community Wiki (or KDE Techbase) pages.
M +2 -17 architecture.php
M +2 -217 tutorials/creatingplugins.php
M +2 -9 tutorials/index.php
--- trunk/www/areas/pim/development/architecture.php #1218701:1218702
@@ -6,25 +6,10 @@
?>
<!-- BEGIN CONTENT -->
-KDE PIM's architecture is roughly as follows: there are a few basic libraries
-that provide low-level services; there are lots of libraries that are \
application-specific, and then there are the applications themselves.
-This page provides an <i>overview</i> of which libraries there
-are and what they are for.
+<p>The content of pim.kde.org is being moved to the <a \
href="http://community.kde.org/KDE_PIM">KDE PIM section</a> of the <a \
href="http://community.kde.org/">KDE Community Wiki</a>.</p>
-<p>
-A big part of the KDE PIM architecture is <a href="<?php echo $site_root \
?>/akonadi/">Akonadi</a>, the data store (this applies to KDE4, not \
KDE3).
-</p>
+<p><a href="http://community.kde.org/KDE_PIM/Development/Architecture">This page has \
already been moved.</a></p>
-<p>
-You may also want to take a look at the API documentation of the
-<a href="http://api.kde.org/4.x-api/kdepimlibs-apidocs/">KDE PIM libraries</a>
-and the
-<a href="http://api.kde.org/4.x-api/kdepim-apidocs/">KDE PIM applications</a>
-which are generated from the source code.
-Remember, the documentation is intended for development use but may
-change without notice, be unstable, or set fire to your dog.
-</p>
-
<!-- END CONTENT -->
<?php
include "footer.inc";
--- trunk/www/areas/pim/development/tutorials/creatingplugins.php #1218701:1218702
@@ -6,225 +6,10 @@
?>
<!-- BEGIN CONTENT -->
-<h2>How to create a Kontact plugin</h2>
-<i>by Thorsten Stärk</i>
-<p>
-This documentation is intended for developers programming on - or
-writing plugins for - Kontact. Kontact is a KDE program uniting several
-KDE components for personal information management under one roof.
-Personal information management is e.g. writing mails, planning your
-calendar dates or tracking your time. If you want to learn how to use
-Kontact, you are actually wrong here, visit <a href="http://www.kontact.org">
-the Kontact homepage</a>
-for user documentation then. If you think, a chapter is missing in this
-documentation, you can offer to write it on the KDE-PIM mailing list.</p>
+<p>The content of pim.kde.org is being moved to the <a \
href="http://community.kde.org/KDE_PIM">KDE PIM section</a> of the <a \
href="http://community.kde.org/">KDE Community Wiki</a>.</p>
+<p><a href="http://techbase.kde.org/Development/Tutorials/Writing_kontact_plugins">This \
tutorial has been moved to KDE Techbase.</a></p>
-<h2>Content</h2>
-
-
-<ol id="mozToc">
-<!--mozToc h1 1 h2 2 h3 3 h4 4 h5 5 h6 6--><li><a href="#mozTocId640633">How
-to write a plugin for Kontact</a>
- <ol>
- <li><a href="#mozTocId840426">How to create the KPart</a></li>
- <li><a href="#mozTocId482030">How to get the Kontact plugin</a></li>
- <li><a href="#mozTocId498711">Pitfalls</a></li>
- <li><a href="#mozTocId969103">Suggested readings</a></li>
- </ol>
- </li>
-</ol>
-
-<h2>Tutorial FactBox</h2>
-
-<table style="text-align: left; width: 247px; height: 58px;" border="1"
- cellpadding="2" cellspacing="2">
- <tbody>
- <tr>
- <td style="vertical-align: top;">lasts<br/>
- </td>
- <td style="vertical-align: top;">3 hours<br/>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">without this tutorial<br/>
- </td>
- <td style="vertical-align: top;">3 weekends<br/>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">feedback to <br/>
- </td>
- <td style="vertical-align: top;">kde staerk de<br/>
- </td>
- </tr>
-</tbody>
-</table>
-
-<h2><a class="mozTocH1" name="mozTocId640633"></a>How to write a plugin
-for Kontact</h2>
-
-<p>
-This chapter demonstrates how to turn an existing KDE program into a
-Kontact plugin. This is done on the example of the program KArm from
-KDE 3.4.1. First, we will create a KPart out of the program, then, we
-will use this for a Kontact plugin. Then, we will look at some errors
-that may occur with that work. A KPart is a KDE component that can be
-used as a program, with the difference that it cannot run alone,
-because it needs a program building a "mainwindow" for it.
-</p>
-
-
-<h2><a class="mozTocH2" name="mozTocId840426"></a>How to creating the
-KPart</h2>
-<p>To turn our KDE Program into a KPart, we create a verbatim KPart with
-KDevelop and copy it over to our program's source directory. For this,
-I assume, you want to modify the program karm from KDE 3.4.1 and it can
-be found in <tt>/home/user/svn/3.4.1/kdepim/karm</tt>. I assume your home
-directory is <tt>/home/user</tt> and you are on KDevelop 3.2.0.</p>
-
-<p>Start KDevelop, close all open projects (Project | close), then chose
-<tt>Project | New Project -> C++ -> KDE -> Application Framework
-(KParts)</tt>. Set "Application Name" to "karm", continue as instructed.
-Now test your verbatim KPart by executing it in KDevelop. Expected result
-is a "Could not find our part".</p>
-
-<p>This is because you do not yet have the KPart installed. KDevelop will
-store your work in <tt>/home/user/karm/</tt>, so test your verbatim KPart
-by doing a make install in <tt>/home/user/karm/</tt> and executing the
-KDevelop project. Expected result is a text-editing window, the verbatim KPart.</p>
-
-<p>KDevelop has created karm.h, karm.cpp, karm_part.h,
-<tt>karm_part.cpp</tt>, <tt>karm_part.desktop</tt> and <tt>Makefile.am</tt>
-in <tt>/home/user/karm/src/</tt>. <tt>karm.h</tt> and <tt>karm.cpp</tt>
-just open a mainwindow and display the karm_part in it. We do not need
-them, as we already have a mainwindow for our program. So
-copy the files karm_part.* to <tt>/home/user/svn/3.4.1/kdepim/karm</tt>
-and adapt the files to display your main widget instead of a text
-editor. You may want to replace QMultiLineEdit by your main widget.
-Finally adapt the Makefile <tt>/home/user/svn/3.4.1/kdepim/karm/Makefile.am</tt>
-to include the added files. This is hard to generalize, I show it here
-for the KArm program.</p>
-
-<p>You may want to have a look at <a
-href="http://websvn.kde.org/trunk/KDE/kdepim/karm/Makefile.am?rev=412382&r1=409203&r2=412382">the \
diff</a>
-between the old and the new Makefile.am. Now replace <tt>karm_SOURCES</tt> by \
<tt>libkarm_shared_la_SOURCES</tt>. Add a <tt>noinst_LTLIBRARIES = \
libkarm_shared.la</tt>
-before that line. That causes that all the karm files will not be bound to a binary \
karm,
-but to a library <tt>libkarm_shared.la</tt>. This binary can then be used to
-link as well karm as our KPart. Add <tt>libkarm_shared.la</tt> to \
<tt>karm_LDADD</tt>
-before that line, place a <tt>karm_SOURCES=main.cpp</tt>. These lines now draw the \
library
-<tt>libkarm_shared.la</tt>. Finally, add a kpart section as from
-<tt>/home/user/karm/src/Makefile.am</tt> to karm's <tt>Makefile.am</tt>. This should \
look like
- this:
-</p>
-<pre>
-##################
-# KPART SECTION
-##################
- kde_module_LTLIBRARIES = libkarmpart.la
- # the Part's source, library search path, and link libraries
- libkarmpart_la_SOURCES = karm_part.cpp
- libkarmpart_la_LDFLAGS = -module -avoid-version -no-undefined \
- $(KDE_PLUGIN) $(all_libraries)
- libkarmpart_la_LIBADD = \
- libkarm_shared.la $(LIB_KPARTS) $(LIB_KFILE) \
- -lkdeprint $(top_builddir)/libkcal/libkcal.la \
- $(top_builddir)/kresources/remote/libkcal_resourceremote.la \
- $(top_builddir)/libkdepim/libkdepim.la $(LIBXSS)
-
- # this is where the desktop file will go
- partdesktopdir = $(kde_servicesdir)
- partdesktop_DATA = karm_part.desktop
-
- # this is where the part's XML-GUI resource file goes
- partrcdir = $(kde_datadir)/karmpart
- partrc_DATA = karmui.rc
-</pre>
-
-<p>After that, test your changes of Makefile.am. You have to do <tt>make -f
-Makefile.cvs && ./configure && make</tt> in
-<tt>/home/user/svn/3.4.1/kdepim/</tt>.</p>
-
-<p><span style="color: #ff0000;">Warning:</span> running <tt>./configure && \
make</tt> <strong>is not enough</strong>. Makefile.am's are processed by <tt>make -f \
Makefile.cvs</tt>
-
-<p>Install your KPart, e.g. with make install. Then test your KPart:</p>
-
-<span style="text-align:left;">
- <ul>
- <li>Start Konqueror, chose <i>Settings | Configure Konqueror ->
-File Associations | text -> calendar</i>. File name patterns are
-"*.ics". Chose <i>Embedding -> Show files in embedded viewer -> Add
--> karmPart -> Apply</i>.</li>
- <li>right-click onto a .ics-file and chose "preview in embedded
-viewer -> karmPart"</li>
- <li>verify that Konqueror now is the "mainwindow" for your KPart.
-Konqueror will show what was shown by your application before.</li>
- </ul>
-</ul>
-</span>
-
-<h2><a class="mozTocH2" name="mozTocId482030"></a>How to get the
-Kontact plugin</h2>
-
-<p>You best clone a little Kontact plugin and then adapt it to your
-program.</p>
-
-<p><span style="color: rgb(255, 0, 0);">Warning:</span> Do <b>not</b> copy
-any directory within your svn working copy, change it and re-commit.
-Every folder in the working copy contains a subfolder <tt>.svn/</tt> which
-will direct your commits to the original folder. Better do it that way:</p>
-
-<span style="text-align:left;">
-<ul>
- <li>create a folder <tt>/home/user/svn/3.4.1/kdepim/kontact/plugins/karm</tt></li>
- <li>copy <i>only</i> <tt>Makefile.am</tt>, <tt>multisynk_plugin.cpp</tt>,
- <tt>multisynk_plugin.h</tt>, <tt>multisynkplugin.desktop</tt> from
- <tt>/home/user/svn/3.4.1/kdepim/kontact/plugins/multisynk/</tt> to \
<tt>../karm/</tt></li>
- <li>rename the four files and adapt them to their new names</li>
- <li>adapt the karmplugin.desktop-file to point to your KPart's
-library, in this case <tt>X-KDE-KontactPartLibraryName=libkarmpart</tt></li>
-</ul>
-</span>
-<p>You see, the deciding step is to tell a desktop-file to use the libs of
-a KPart. The only modification on the plugin's code is related to
-renaming the files. That is elegant.</p>
-<ul>
- <li>give your plugin a distinct name</li>
- <li>add your plugin folder (karm) to the makefile for kontact plugins (in your \
kdepim folder under kontact/plugins/Makefile.am):
- <pre>
- SUBDIRS = $(KPILOT_KONTACTPLUGIN) kaddressbook \
- kmail knotes korganizer summary weather knode \
- newsticker multisynk specialdates akregator karm
- </pre>
- </li>
- <li><tt>make -f Makefile.cvs && ./configure && make
-&& make install</tt> your kdepim</li>
- <li>test your plugin</li>
- <ul>
- <li>start Kontact, chose <i>Settings|Configure Kontact -> Configure</i></li>
- <li>verify that you find your program's plugin to be chosen there.</li>
- </ul>
-</ul>
-<h2><a class="mozTocH2" name="mozTocId498711"></a>Pitfalls</h2>
-<ul>
- <li>the program no longer sets it icons correctly</li>
- <ul>
- <li>this pitfall occurred as well in the plugin as in the KPart due
-to the fact that my program was using UserIcon to load the Icons
-instead of the KIconLoader. UserIcon looks for the application name to
-find out the icons' path. As there was no application (only a KPart),
-it gave up on searching the icons.<br/>
- </li>
- </ul>
-</ul>
-<h2><a class="mozTocH2" name="mozTocId969103"></a>Suggested readings</h2>
-<ul>
-<li><a
- href="http://www-106.ibm.com/developerworks/linux/edu/l-dw-linuxkp1-i.html">DeveloperWorks \
article</a> from David Faure on the KPart technology</li>
-<li><a
- href="http://websvn.kde.org/trunk/KDE/kdepim/karm/Makefile.am?rev=412382&r1=409203&r2=412382">Code \
example</a> showing the integration of the karm part, file
-Makefile.am</li>
-</ul>
<!-- END CONTENT -->
<?php
include "footer.inc";
--- trunk/www/areas/pim/development/tutorials/index.php #1218701:1218702
@@ -6,16 +6,9 @@
?>
<!-- BEGIN CONTENT -->
-This page lists the development tutorials
-for various bits and pieces of
-KDE PIM. It may be useful to
-read the <a href="http://developer.kde.org/source/anonsvn.html">Subversion guide</a>
-and keep the <a href="http://api.kde.org/4.x-api/kdepim-apidocs/">API reference</a>
-handy.
+<p>The content of pim.kde.org is being moved to the <a \
href="http://community.kde.org/KDE_PIM">KDE PIM section</a> of the <a \
href="http://community.kde.org/">KDE Community Wiki</a>.</p>
-<ul>
- <li><a href="http://techbase.kde.org/Development/Tutorials/Writing_kontact_plugins">Creating \
Kontact plugins</a></li>
-<ul>
+<p><a href="http://community.kde.org/KDE_PIM/Development/Tutorials">This page has \
already been moved.</a></p>
<!-- END CONTENT -->
<?php
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic