Skip to content
Andrew Manning edited this page May 12, 2016 · 17 revisions

Development Tasks

General

Mike wrote on 2016/03/16:

  • Create a tool for file cloning. Unlike regular clone operations, memory limitations require us to provide just the meta-data in the clone sync operation and fetch the file(s) (possibly in chunks) from the hub holding the original. Probably will end up using the zot 'request' message to do the fetch. Will likely need a DB table to manage state, how much has been downloaded etc., and link to a queue to fetch remaining bits.

  • Since photos and files are now merged, remove redundant information from the photo DB table. Captions, mentions, and permissions can all be stored with either the linked "item" or the linked "attach". Be aware that connection photos and things photos are still stored in the photo table and have no linked items or attach structures; but they also don't require permissions, captions, mentions, etc.

  • Provide a mechanism to move files/photos between directories. Harder than it sounds because several different table elements in several different structures need to be changed to maintain consistency.

  • GNU-social federation plugin for UNO.

  • Pump.io federation plugin for UNO.

  • rework the "like" (dislike, attend, agree, etc.) activities to make a single activity type aligned with the 'react' activity now seen in some corporate projects. Ditto for poke.

  • many folks have abandoned dav and hubzilla webpages because dav doesn't have caldav/carddav and because there is no glitzy UI with preview for building webpages. The former needs to start with a sabre upgrade. The latter probably needs to begin with a visual editor. In the case of webpages, there are lots of editors that can do the job because one can specify HTML as the output format. It's only posts where we have issues with editors because of the poor coverage of our unique style of bbcode. There's a lot more needed but these are places to start.

  • rewrite the "probe" (network discovery) logic to streamline it

  • key revocation (this is a complex topic because your key is integral to your identity). The method under consideration requires your existing key to remain as an identifier - even if it is compromised. A second key is then generated and used for communications. The original key is no longer tied to trust or authentication but is only used to calculate and maintain a consistent identity string

Chat

Hubzilla chat can be improved in many ways, but additional features should support use cases that are aligned with the goals of the Hubzilla project.

Use Cases

  • Two independent organizations running Hubzilla wish to collaborate on a project. They can already share data using the file storage and they can have robust asynchronous discussion using the standard post/comment threads. They wish to also use real-time chat.

Notifications

  • Implement browser notifications for various events
  • Members leave
  • New messages
  • Create per-member config options for visual and audio notifications
  • Track unread messages and highlight them somehow when returning to the chat window

Documentation

Contextual Help

We need additional content for the contextual help system:

/template

<dl class="dl-horizontal">
	<dt>General</dt>
	<dd>General info</dd>
	<dt>Feature</dt>
	<dd>Feature info</dd>
</dl>

/events

<dl class="dl-horizontal">
	<dt>General</dt>
	<dd>This page displays a calendar of events both owned by you and shared with you from other channels.</dd>
	<dt><a href='#' onclick='contextualHelpFocus("#title", 0); return false;' title="Click to highlight element...">Calendar View</a></dt>
	<dd>The calendar can be displayed in month, week, or day mode using the options in the side panel.</dd>
	<dt>Export/Import</dt>
	<dd>Export or import calendar events using standard iCalendar format (.ics) files.</dd>
</dl>

/connections

<dl class="dl-horizontal">
	<dt>General</dt>
	<dd>This page displays a list of all this channel's connections. The list can be sorted and filtered using the menu button beside the search button. </dd>
	<dt>Connection Details</dt>
	<dd>Each list entry shows the details of a specific connection. A faded gray avatar image indicates an archived connection.</dd>
	<dt>Connection Status</dt>
	<dd>A connection can be in different states: <ul><li>Archived</li><li>Ignored</li><li>Blocked</li><li>Hidden</li></ul></dd>
</dl>

/connections (es)

<dl class="dl-horizontal">
	<dt>General</dt>
	<dd>Esta página muestra una lista de todas las conexiones de este canal. La lista se puede ordenar y se filtra usando el botón de menú al lado del botón de búsqueda.</dd>
	<dt>Detalles de la conexión</dt>
	<dd>Cada entrada de la lista muestra los detalles de una conexión específica. Una imagen de avatar gris desteñido indica una conexión archivado.</dd>
	<dt>Estado de conexión</dt>
	<dd>Una conexión puede estar en diferentes estados: <ul><li>archivado</li><li>ignorado</li><li>bloqueado</li><li>oculta</li></ul></dd>
</dl>

/settings

/settings/features

/settings/display

/settings/export

/chat

<dl class="dl-horizontal">
	<dt>General</dt>
	<dd>You can create and use chat rooms here. Existing chat rooms are either displayed in the </dd>
	<dt>Create new chat room</dt>
	<dd>Use the "Create New" button to create a new chat room. Enter a name and how long messages should be retained.</dd>
	<dt>Chatting</dt>
	<dd>Enter your message in the message box and press Submit. You can set a status by selecting the chat room menu button beside the Submit button. Other people "in the room" are visible in the side panel in the "Chat Members" panel.</dd>
</dl>

/webpages

/manage

/admin

/admin/site

/admin/users

/admin/channels

/admin/security

/admin/features

/admin/plugins

/admin/themes

/admin/queue

<dl class="dl-horizontal">
	<dt>General</dt>
	<dd>The queue statistics display how many posts are in the queue for delivery to other hubs. The priority is related to how many times the delivery has been unsuccessfully attempted.</dd>
</dl>

/admin/profs

/admin/dbsync

/admin/logs

<dl class="dl-horizontal">
	<dt>General</dt>
	<dd>This page allows you to adjust log settings and to view and existing log.</dd>
	<dt>Log Settings</dt>
	<dd>When you enable the Debugging option, system log information will begin appending to the file specified in the "Log File" box (path is relative to the hub root, for example /var/www). Note that this file must be writable by the web server.</dd>
	<dt>Log Level</dt>
	<dd>The log level option allows you to set how much information is appended to the log file. Warning: Increasing this level can quickly inflate the size of the log file to >100MB, especially on hubs with more than a few members.</dd>
</dl>