Uploaded image for project: 'Z-Push'
  1. Z-Push
  2. ZP-1284

Add Note Backend operating against Postgres database

    Details

    • Type: Improvement
    • Status: QA
    • Priority: Normal
    • Resolution: Fixed
    • Affects Version/s: 2.3.8 beta2
    • Fix Version/s: 2.4.0 beta2, 2.4.0
    • Component/s: None
    • Labels:
      None

      Description

      The current backend selections do not sync notes (IPM.StickyNote) unless you are using Kopano or related backend modules; those installations in an environment using other backends are out of luck (e.g. Davical + Dovecot, using the caldav, carddav and IMAP interfaces.)

      This thread is intended to be for contribution (assuming I get happy enough with the code to contribute it) of the code I have now working on a partial basis that will add "Notes" capability. It has the following characteristics at present:

      • Runs directly against Postgres, either on the localhost or not, using PHP's pgsql interface.
      • Does not require privileges, or a privileged back-end. This, however, means that it must be used only with one or more additional backends that do require privileges (e.g. IMAP, Davical, or both) because otherwise user credentials are unauthenticated. In other words the client's claim that it is user "test" on domain "what.com" is accepted ("Logon" returns true without checking the provided password.) This is "safe" only if one or more other backends do check the password.
      • Implements a single "Note" folder, no directory structure (the client I have doesn't support a structure, and I do not know if others do.)
      • Has the option to either hard-delete notes that are deleted, or merely mark them deleted in the database (making it possible for an administrator to recover accidentally-deleted notes.)
      • Is intended to be lightweight in avoiding transactional requirements, other than where it is unavoidable (specifically during deletes and updates if categories are present in a note.)

      There is currently no plan for a stand-alone web client to allow web access to notes, but I may add one in the future. If implemented that may not be a contributed module and/or may be implemented in "C" (which I much-prefer over PHP.) Of course since the schema is published and so is the code here implementing a web-based or other interface to the data will not be particularly difficult.

      The "REQUIREMENTS" file will contain the setup instructions for the postgres database you need to create and there is also provided a .sql file to be submitted to psql as the database administrator to create the tables required.

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                tickerguy Karl Denninger
                Reporter:
                tickerguy Karl Denninger
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: