KD2 Framework  Changes To about

Changes to "about" between 2016-08-05 08:04:07 and 2016-08-22 23:02:00

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
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







-
+

-
-
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+

+
-
+

-
-
-
+
+




+
-
+












This framework is used for a couple of websites serving millions of web pages each day.

WARNING: there is currently no release cycle of kd2fw, all components are considered stable, and no backward-incompatible changes should be made.

See the [Roadmap] for planned features.

<h2>PHP Components</h2>
<h2>PHP Components (version 1.0)</h2>

  *  BubbleBabble: encodes and decodes using the [http://bohwaz.net/archives/web/Bubble_Babble.html|Bubble Babble] binary data encoding. Much like base64 but makes actually pronounceable pseudo-words.
  *  CacheCookie: stores session data in a cookie (using MsgPack if available or JSON as a fallback), without using session files. For MsgPack you can use [https://github.com/onlinecity/msgpack-php|this pure PHP implementation] but the PECL module "msgpack" is much faster.
  *  [BubbleBabble]: encodes and decodes using the [http://bohwaz.net/archives/web/Bubble_Babble.html|Bubble Babble] binary data encoding. Much like base64 but makes actually pronounceable pseudo-words.
  *  [CacheCookie]: stores session data in a cookie (using MsgPack if available or JSON as a fallback), without using session files. For MsgPack you can use [https://github.com/onlinecity/msgpack-php|this pure PHP implementation] but the PECL module "msgpack" is much faster.
  *  Countries: to get a list of ISO-3166 countries in english or french
  *  DB: abstraction layer to PDO with useful helper methods
  *  Delta: to compute and apply deltas between two revisions of the same file (PHP port of Fossil delta algorithm). Allows to store only differences between two edits of a text, may be useful for example in CVS or a Wiki.
  *  ErrorManager: error and exception handler with dev/prod mode, email reporting and more, like a lightweight version of [https://github.com/nette/tracy|Nette Tracy]
  *  FeedParser: parses RSS and ATOM feeds, any version, even if they are invalid XML
  *  Image: a simple and fast image library providing resize, image informations and image thumbnail through GD, ImageMagick or ImLib (will use the fastest available option).
  *  Karto (alpha): mapping/GPS tools
  *  [DB]: abstraction layer to PDO with useful helper methods
  *  [Delta]: to compute and apply deltas between two revisions of the same file (PHP port of Fossil delta algorithm). Allows to store only differences between two edits of a text, may be useful for example in CVS or a Wiki.
  *  [ErrorManager]: error and exception handler with dev/prod mode, email reporting and more, like a lightweight version of [https://github.com/nette/tracy|Nette Tracy]
  *  [FeedParser]: parses RSS and ATOM feeds, any version, even if they are invalid XML
  *  [HTMLDocument]: DOMDocument/DOMNode wrapper that adds support for querySelector/querySelectorAll methods (easy to use CSS selectors, internally transformed to XPath queries, so it is quite fast)
  *  [Image2]: a simple and fast image library providing resize, image informations and image thumbnail through EPEG (JPEG only), ExactImage, GD, ImageMagick or ImLib (will use the fastest available option).
  *  [Image_EXIF]: deals with EXIF data from JPEG files
  *  [Karto]: mapping/GPS tools
  *  Mail_Message: parser/writer of email MIME messages (with support for MIME encoded messages and attachments)
  *  [MemCache]: memory cache wrapper (APCu, XCache, Opcache, etc.)
  *  MikroMarkupBBCode (alpha): fast and lightweight BBcode parser/renderer for HTML
  *  MikroMarkupBBCode: fast and lightweight BBcode parser/renderer for HTML
  *  [MiniSkel]: template-based programming language compatible with the SPIP CMS
  *  [Passphrase]_FR: generates passphrases from random french words.
  *  Security: common security functions, including anti CSRF tokens
  *  Security_OTP: secure one time password generator/verifier, compatible with TOTP/HOTP and Google Authenticator
  *  [Security]: common security functions, including anti CSRF tokens
  *  [Security_OTP]: secure one time password generator/verifier, compatible with TOTP/HOTP and Google Authenticator
  *  Session: a basic PHP session manager that can be set to be non-blocking.
  *  SimpleDiff: to compute a text diff between two versions of a string (+patch utility)
  *  Singleton: used to make singleton classes.
  *  [SkrivLite]: implementation of the Skriv Markup Language (inspired by Creole and Markdown).
  *  [Smartyer]: fast and lightweight template engine, mostly compatible with Smarty / Template_Lite.
  *  SMTP: send emails using SMTP (supports SMTH AUTH and TLS).
  *  [SMTP]: send emails using SMTP (supports SMTH AUTH and TLS).
  *  SVGPie: renders a pie chart in SVG
  *  SVGPlot: renders a plot chart in SVG
  *  [Translate]: platform independent gettext replacement, parses Gettext MO and PO files, optional memory cache
  *  XML_RPC_Server: a XML/RPC server using PHP XML/RPC extension

<h2>Javascript components</h2>

  *  Text editor: extends textareas with tools to select, insert or replace content, with support for keyboard shortcuts.
  *  Code editor: built on Text editor, it provides an easy to use browser code editor including: common keyboard shortcuts, search, search and replace, go to line, fullscreen editing, indentation, brackets/parenthesis matching, line counter, and more.
  *  Karto (alpha): Mapping/GPS tools (Mercator projection)
  *  XHR.js: micro XmlHttpRequest library (less than 500 bytes minified)