Loading...
 
Skip to main content

History: XMPP

Source of version: 28 (current)

Copy to clipboard
https://conversejs.org/ was added to ((Tiki17)) and the integration enhanced in ((Tiki19))
!! Open & Pending Bugs
{LIST()}
  {filter content="5" field="tracker_id"}
    {filter field="tracker_status" content="o OR p"}
  {filter field="tracker_field_category" content="336"}
  {OUTPUT(template="table")}
    {column field="mod_date" label="LastModif" mode="raw"}
    {column sort="tracker_field_resolution_status" field="tracker_field_resolution_status" label="Resolution Status" mode="raw"}
    {column sort="tracker_field_submitted_by" field="tracker_field_submitted_by" label="Submitted By"}
    {column field="tracker_field_assigned_to" label="Volunteered" mode="raw"}
    {column field="tracker_field_subject" label="Title" mode="raw"}
    {column label="Category" field="category" mode="raw"}
    {column sort="tracker_field_version" field="tracker_field_version" label="Version" mode="raw"}
    {column field="tracker_field_feature" label="Feature" mode="raw"}
    {column sort="tracker_field_importance" field="tracker_field_importance" label="Importance" mode="raw"}
	{tablesorter server="n" sortable="y"}
  {OUTPUT}
  {FORMAT(name="mod_date")}{display name="modification_date" format="date"}{FORMAT}
  {FORMAT(name="tracker_field_resolution_status")}{display name="tracker_field_resolution_status" default="" format="trackerrender"}{FORMAT}
  {FORMAT(name="tracker_field_submitted_by")}{display name="tracker_field_submitted_by" format="trackerrender"}{FORMAT}
  {FORMAT(name="tracker_field_assigned_to")}{display name="tracker_field_assigned_to" format="trackerrender" default=""}{FORMAT}
  {FORMAT(name="tracker_field_subject")}{display name="tracker_field_subject" format="objectlink"}{FORMAT}
  {FORMAT(name="category")}{display name="tracker_field_category" format="trackerrender"}{FORMAT}
  {FORMAT(name="tracker_field_version")}{display name="tracker_field_version" format="trackerrender"}{FORMAT} 
  {FORMAT(name="tracker_field_feature")}{display name="tracker_field_feature" format="trackerrender"}{FORMAT} 
  {FORMAT(name="tracker_field_importance")}{display name="tracker_field_importance" format="trackerrender" default=""}{FORMAT} 
{LIST}
{button href="Make+a+wish" _text="Create Item" _icon_name="create" _type="link" _class="create_item_button"}

!! Infos
Please see [http://mirror.onet.pl/pub/mirrors/video.fosdem.org/2017/K.3.401/webchat.vp8.webm|ConverseJS presentation at FOSDEM 2017]

See also: ((Openfire)) and ((Federation)).

In the context of WikiSuite: [http://wikisuite.org/item41|Interoperability between Tiki Wiki CMS Groupware and Openfire]

Related: ((SAML)) and ((Oauth)) 

See also: ((Apps building on and beyond XMPP))
https://blog.vucica.net/2018/02/what-can-xmpp-do-that-irc-cant.html

!! Interesting code / lib / projects
https://packagist.org/search/?q=xmpp&orderBys%5B0%5D%5Bsort%5D=downloads&orderBys%5B0%5D%5Border%5D=desc
{HTML()}<script type='text/javascript' src='https://www.openhub.net/p/strophejs/widgets/project_factoids_stats?format=js'></script>{HTML}
{HTML()}<script type='text/javascript' src='https://www.openhub.net/p/candy/widgets/project_factoids_stats?format=js'></script>{HTML}
https://packagist.org/packages/candy-chat/xmpp-prebind-php
---
{HTML()}<script type='text/javascript' src='https://www.openhub.net/p/conversejs/widgets/project_factoids_stats?format=js'></script>{HTML}
"However, I expect webchat XMPP clients to become more and more prevalent in the coming years, even on the desktop, for example when packaged with Github's Electron (an Electron version of converse.js is planned BTW, based on the fullscreen version inverse.js)." Source: https://opkode.com/blog/strophe_converse_sasl_external/
---

!! ConverseJS
{CODE(caption="Some wisdom from JC Brand (author of ConverseJS)")}
> High level XMPP roadmap:
> 
> Short term:
> * The first step would be to add a personal chat to Tiki, like in this
> video: http://quintagroup.com/cms/js/converse.js   If logged in to
> Tiki, we'd want XMPP presence indicator and 1-click to start a chat
> with them (and be already logged in)

There are various approaches you can take here.

Usually how it works:

1. The XMPP user gets authenticated to the XMPP server,
   by the platform (e.g. Tiki, or in the quintagroup article Plone).
2. Often this happens with the platform making a BOSH HTTP call to the XMPP
   server, to establish a session and to get the BOSH tokens(RID, SID) back.
3. The platform then returns those tokens to converse.js, and it uses them to
   attach to the pre-established session.

A bit more info on this is here:
https://conversejs.org/docs/html/setup.html#session-support
{CODE}

---
{HTML()}<script type='text/javascript' src='https://www.openhub.net/p/jsxc/widgets/project_factoids_stats?format=js'></script>{HTML}
{HTML()}<script type='text/javascript' src='https://www.openhub.net/p/jappix/widgets/project_factoids_stats?format=js'></script>{HTML}
{HTML()}<script type='text/javascript' src='https://www.openhub.net/p/prodromus-xmpp/widgets/project_factoids_stats?format=js'></script>{HTML}
{HTML()}<script type='text/javascript' src='https://www.openhub.net/p/speeqe/widgets/project_factoids_stats?format=js'></script>{HTML}
{HTML()}<script type='text/javascript' src='https://www.openhub.net/p/jaxl/widgets/project_factoids_stats?format=js'></script>{HTML}
https://packagist.org/packages/jaxl/jaxl
---
{HTML()}<script type='text/javascript' src='https://www.openhub.net/p/movim-moxl/widgets/project_factoids_stats?format=js'></script>{HTML}
{HTML()}<script type='text/javascript' src='https://www.openhub.net/p/fabiang-xmpp/widgets/project_factoids_stats?format=js'></script>{HTML}

!! Current files in Tiki related to XMPP

* https://gitlab.com/tikiwiki/tiki/blob/master/db/config/controllers.xml
* https://gitlab.com/tikiwiki/tiki/blob/master/lib/core/Services/Xmpp/Controller.php
* https://gitlab.com/tikiwiki/tiki/blob/master/lib/prefs/xmpp.php
* https://gitlab.com/tikiwiki/tiki/blob/master/lib/xmpp/TikiXmppPrebind.php
* https://gitlab.com/tikiwiki/tiki/blob/master/lib/xmpp/xmpplib.php
* https://gitlab.com/tikiwiki/tiki/blob/master/modules/mod-func-xmpp.php
* https://gitlab.com/tikiwiki/tiki/blob/master/templates/modules/mod-xmpp.tpl

See also:
https://github.com/otalk/otalk-im-client


http://sdelements.github.io/lets-chat/
https://www.zulip.org/
https://github.com/digicoop/kaiwa/commits/master
https://github.com/RocketChat (not XMPP)
https://www.goffi.org/b/9555cc02-6a87-4b6b-af85-20f1c0736722/xmpp-based-tickets-merge-requests-with
Show PHP error messages