GithubHelp home page GithubHelp logo

ingomueller-net / thunderbirthday Goto Github PK

View Code? Open in Web Editor NEW
8.0 9.0 8.0 105 KB

Mozilla Thunderbird add-on that display birthdays from the Thunderbird addressbooks as events in Lightning.

JavaScript 98.60% Shell 1.40%

thunderbirthday's Introduction

About

This is an add-on for Mozilla Thunderbird that displays birthdays from the addressbooks as events in Lightning.

Installation

Go to https://addons.mozilla.org/thunderbird/addon/thunderbirthday/ and follow the installation instructions there.

Credits

A huge thanks to all contributors of this extensions!

  • Philipp Kewisch -- The author of the google calendar provider, which served as skeleton for ThunderBirthDay
  • Michael Kurz -- For the active testing and the support in bug smashing!
  • edvoldi -- A very eager tester from www.sunbird-kalender.de/forum/
  • Babelzilla and the translators there -- See datails in install.rdf
  • www.icondrawer.com -- For making the duty free icon used for this extension

And many other testers...

Known issues

  • calIItemBase.id

    • The ID is not unique yet. Until now, it is an MD5 hash of the Name, the birthday and the calendar's URI. This makes it pretty unique, but not entirely unique. One idea is to generate a random MD5 hash and save it in a new field with the nsIAddrDatabase interface.
  • calICalendar.getItems()

    • Until now, the occurrences of a recurring item as returned by the TBD data provider do not have the same title as the base item. Users retrieving occurences with the calIItemBase.getOccurrencesBetween() will get occurrences with the same title as the base item (no age in parenthesis). Maybe implementing the calIItemBase interface is a solution...
  • Anyway, if you read this and have any ideas, suggestions, critics or whatsoever, please let me know!

Possible new features

This list is not up-to-date. Please have a look at http://ingomueller.net/mozilla/thunderbirthday/wishlist for a more detailed and up-to-date version of this list.

  • The description on AMO has to be improved: it has to be clear to the user that ThunderBirthDay provides a new type of calendar and that it doesn't just export events.

  • Maybe we can use nsIAddrDBListener to track changes to the address book, so there is no need to refresh anymore, or at least, changes will be tracked immediately.

  • Possibility to choose a user defined field where the birthday is stored instead of the mostly unaccessible fields birthday, birthmonth and birthyear. Maybe even possibility to choose format (dd.mm.yyyy).

  • Possibility to choose between birthdays, anniversaries and both. Like the feature above, the coise can be stored in the calendar uri as paremters like this: moz-abmdbdirectory://abook.mab?type=birthday&field=user1

  • Replace the modify dialog of events for TBD-calenders with the property dialog of the concerned addressbook card (not sure about that one yet).

  • Maybe it's a good idea to create calendar with default settings when installing ThunderBirthDay, as some people don't seem to read the instructions carefully enough and don't know how it works then.

  • Extend properties dialog of thunderbirthday-calendars, adding possibility to change addressbook, birthdate field and other settings.

  • Implement alarms, with global and per calendar settings. Maybe the necessary data can be saved in new fields with the nsIAddrDatabase interface. Reminder-emails might also be a nice feature.

  • Let the user set all kind of things, globally and per calendar: (1) the format of the events title, (2) category, ...

  • A wish from a user: Possibility to have birthdays without the year being set. Not sure about how to implement this...

Resources for developers

thunderbirthday's People

Contributors

ingomueller-net avatar klemens avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

thunderbirthday's Issues

Compatibility with Thunderbird 68

Hi Ingo, is there any chance to make this plugin compatible with TB 68? Is this just a setting you need to do, or is there anything else where one could support you in development or testing?

Creating calendar fails with error

Users are reporting to me that creation of calendars is broken. They get the following error at the end of the calendar creation dialogue:

[Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIPrefBranch.getIntPref]" nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)" location: "JS frame :: jar:file:///C:/Users/User/AppData/Roaming/Thunderbird/Profiles/fcqbcs51.stw/extensions/%7B4C9FE6FE-2C83-11DC-90B4-DC8456D89593%7D.xpi!/js/calThunderBirthDay.js :: MyLOG :: line 948" data: no]

The related line looks like this:

MyLOG.mVerbosity = Components.classes["@mozilla.org/preferences-service;1"]
                             .getService(Components.interfaces.nsIPrefService)
                             .getBranch("extensions.thunderbirthday.")
                             .getIntPref("verbosity");

At a first glance, it seems like getIntPref has changed and now throws an exception if the value does not exist. It probably needs a default parameter aDefaultValue, see documentation.

I do not have time to try it. Help would be greatly appreciated.

its not possible to choose all adress books

Unfortunately it isnt possible to choose "All Adressbooks" during the calendar creation dialog. The "next"-button isnt disabled but there is no response. If I choose only one adressbook it works perfectly.

Calendar entries for contacts without birthYEAR

It would be nice to get calendar entries for contacts, which do not have a birthyear given. Is this possible? Currently those contacts will not appear in the calendar.

TB 38.6.0, Lightning 4.0.6

Broken compatibility with Thunderbird 60.0

Mozilla broke most addons with the recent update, ThunderBirthDay is one of them.
Mozilla's update note:

IMPORTANT: Add-ons not marked as compatible with Thunderbird 60 by their authors will be disabled (this can be reverted via preference extensions.strictCompatibility)

However, forcing Thunderbird to accept old addons doesn't work.
Error message on restart:

Beim Bereitstellen des Kalenders mit der Adresse moz-abdirectory:// ist ein Fehler aufgetreten. Er wird nicht verfügbar sein.

Compatability with Cardbook extension

Hi!

I just installed this extension and was wondering why it does not show any birthdays.. Then I realized, that it does not work for me as I use the cardbook extension (which allows proper synchronisation of the adressbook with CardDaV). Is it possible to use it with the adressbook of that extension somehow?

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.