Giter Club home page Giter Club logo

com.fountaintribe.hebrewcalendarhelper's Introduction

Hebrew Calendar Helper CiviCRM extension

Has a variety of functionality related to the Hebrew calendar. This includes mail merge tokens, demographic information, Hebrew date of birth, yahrzeits, APIs and more.

Features added by this extension

Full documentation is at: https://github.com/sgladstone/com.fountaintribe.hebrewcalendarhelper/wiki

Custom Tokens

Additional token sections "Today" and "Yahrzeits for this Mourner"

Token details documented at: https://github.com/sgladstone/com.fountaintribe.hebrewcalendarhelper/wiki

Custom Searches

"Yahrzeit Search"


CiviCRM Configurations created by this extension

Custom Data Sets

  • "Extended Date Information" Used to indicate if an individual was born/died before sunset. This can be edited when editing any individual.
  • "Yahrzeit Preferences" Used to indicate track mourner preferences for various yahrzeits observed. This can be edited when editing a yahrzeit relationship.
  • "Yahrzeit Dates (Calculated Automatically)" - Nothing in this area is editable.
  • "Hebrew Birth Dates (Calculated Automatically)" - Nothing in this area is editable.
  • "Memorial Plaque Info" used for track information, such as if a deceased person has a memorial plaque, the location of the plaque, etc. This can be edited when editing any deceased individual. This area is also used to integrate with the electronic yahrzeit system from Yahrzeitronix ([email protected])
  • "Religious" Used to track religious information about individuals, such as their Hebrew name, Hebrew names of parents, etc. This can be edited when edited any individual.

Custom Contact Types

"Deceased" based on Individual. This is set automatically. There is no need for the user to edit this.

Custom Relationship Types

"Yahrzeit observed by" --- "Yahrzeit observed in memory of"

Its strongly recommended to create additional relationships types manually. See details at: https://github.com/sgladstone/com.fountaintribe.hebrewcalendarhelper/wiki

CiviCRM Scheduled Jobs

"Call AllHebrewDates.Calculate API" --- Recalculates all yahrzeits, Hebrew birthdays, and other observances tied to the Hebrew calendar. This should run at least daily. It can run more frequently as preferred.


MySQL tables

"civicrm_fountaintribe_yahrzeits_temp" - This table gets frequently truncated and repopulated.

What happens when this extension is disabled?

What is removed:

  • The MySQL table "civicrm_fountaintribe_yahrzeits_temp"
  • The API used by the scheduled job "Call AllHebrewDates.Calculate API"
  • The custom searches described in this README
  • The tokens described in this README
  • The APIs described in this README

What is left:

  • The CiviCRM custom field sets, custom fields, and other CiviCRM configurations described in this README.

What happens when this extension is disabled, then re-enabled? Or uninstalled then re-installed?

During enablement, the extension checks for the existence of the various CiviCRM configurations described in this README. If everything already exists, then nothing is changed. If anything is missing, then it is created.

For example:

  • The custom relationship type "Yahrzeit observed by" does not exist. Yet all the other configurations exist, such as all the custom fields already exist.

  • The relationship type "Yahrzeit observed by" will be created during enablement. No other configurations are created or changed.

  • The MySQL temp tables are always recreated.

########################################

WARNING

  • DO NOT remove or move any of the custom fields, or this extension will NOT WORK. Changing the labels for the custom fields, contact types, and relationship types has NOT been tested.
  • Changing labels is NOT RECOMMENDED as your environment will no longer match the user documentation/videos.

com.fountaintribe.hebrewcalendarhelper's People

Contributors

guyoron avatar mlutfy avatar netzih avatar sgladstone avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

com.fountaintribe.hebrewcalendarhelper's Issues

Automation for reminders

For email reminders to be sent directly to the email address of the mourner

The enhancement for email reminders is complete. The documentation is at: https://github.com/sgladstone/com.fountaintribe.hebrewcalendarhelper/wiki/Automated--reminders

For PDF/hard-copy reminders, the PDFs will be emailed to a staff member/volunteer

https://github.com/sgladstone/com.fountaintribe.hebrewcalendarhelper/wiki/Automated--reminders

There will be a CiviCRM scheduled job set to run daily. The daily scheduled job will have 3 required parameters: "group_names", "message_template_name", "email_address"

To have hard-copy reminders go out 15 days in advance: the job parameters would be:
group_names=mourners of a yahrzeit in 15 days
message_template=15 day yahrzeit message
staff_contact=CiviCRM contact id of "[email protected]"

If there are 25 people observing a yahrzeit in exactly 15 days, then "[email protected]" will get an email with 1 PDF, containing the reminder letters for all 25 mourners. In a larger organization, "[email protected]" will likely get an email daily, each with one PDF attached. They could print and mail things immediately upon receiving the email, or they could wait a few days and print and mail a bunch. In a smaller organization, "[email protected]" would get an email with a PDF attachment infrequently, as many days there are no yahrzeits at all.

The assumption with the PDF, is that a staff member/volunteer would print the PDF and put the letters into envelopes.

Earliest Possible Bat Mitzvah Date calculating at 13 years old rather than 12

Just noticed that the calculation appears to be incorrect.
Here the example i have noticed it for
Contact gender: Female
Date of birth: 19th January 2006
Hebrew date of birth: 19 Tevet 5766
Next Hebrew Birthday: January 5, 2018
Earliest Possible Bar/Bat Mitzvah Date (Starts at sunset on this date): December 26, 2018

Therefore when i Calculate the Hebrew bat mitzvah date back i get 19 Tevet 5779 so 13 years old.
Is there something i have configured incorrectly or is this field calculated as 13 years for both males and females

Calculate job will not run using cron

Calculate job will not run using cron. Works fine when run manually.

https://wiki.civicrm.org/confluence/display/CRMDOC/Managing+Scheduled+Jobs#ManagingScheduledJobs-URLmethod

states "Specific Job via URL works only for API entity = job

Note that you can execute API actions only from the API entity "job"; this is hard-coded into cron.php. So you can't call any of the built in API functions (other than those under entity "job") using cron.php, but you also can't create a new API action So for instance, if you create new API entity called "myapi" with API action "my action" then you would be able to call that action via the Scheduled Jobs page but you will not be able to call it via cron.php. "

A possible workaround for this problem is here: http://forum.civicrm.org/index.php/topic,28215.0.html
I tried this but still got the following error:
Fatal error: Call to a member function saveLastRun() on null in /home/cremorne/www/www/prodwp/wp-content/plugins/civicrm/civicrm/CRM/Core/JobManager.php on line 122

Any thoughts here on this one please?

Date converting to Adar II instead on Adar

Dates that fall in Adar are set as Adar II even if that year was not a leap year.
For example try converting March 5, 2020 and it will convert it to 9 Adar II even though this year is not a leap year.

Tokens aren't working on CiviCRM v. 5.0.1 and higher

Tokens that are set to only print Yahrtzeit "in x days" are not respecting the "in x days" filter and the token prints information from every available Yahrzeit relationship.
I tested on Civi 5.0.1 and 5.3.1

For yahrzeit custom search, add filter for Hebrew month, Hebrew year

Multiple (same) records returned when yahrzeit date range used.

Selection criteria:
Group=Active Yahrzeits
Date From 1/9/2016
...Through 31/08/2017

Returns multiple records for the same mourner/deceased combination due to hebrew date falling on different English months in different years.

Mutiple same records issue.pdf

Could a search perhaps by hebrew date be done so the multiple record situation does not occur?

FYI:Workaround to produce current year's yahrzeit list for High Holidays is on export of the data based on the search criteria above is to manually remove the multiple records in a spreadsheet and then print the list.

When no parashat because of a holiday, display the name of the holiday in the parashat field.

Shabbat Before yahrzeit not displayed due to Festival of Pesach.

Have been updating our records and found that the 'shabbat before the yahrzeit date' was empty for the yahrzeit date of 20th Nisan 5777 (Sunday 16th April 2017). The 'shabbat after yahrzeit contains the correct value.

I am assuming this is a hebcal issue but it would be great if we could cater for this somehow and put in e.g. Pesach 5 CH"M for Sat 15th April 2017 (19 Nisan 5777). This logic would need to apply for other festivals which fall on the shabbat during the year too.

Fatal error after changing PHP from Version 5.6 to 7.1

PHP Interpreter was set to version 7.1 from 5.6

Fatal error: Uncaught Error: Call to undefined function split() in /home/cremorne/www/www/devwp2/wp-content/xxcustom/com.fountaintribe.hebrewcalendarhelper-3.2.2/com.fountaintribe.hebrewcalendarhelper-3.2.2/utils/HebrewCalendar.php:4269 Stack trace: #0 /home/cremorne/www/www/devwp2/wp-content/xxcustom/com.fountaintribe.hebrewcalendarhelper-3.2.2/com.fountaintribe.hebrewcalendarhelper-3.2.2/utils/HebrewCalendar.php(3639): HebrewCalendar->util_convert2hebrew_date('2018', '8', '2', '1', 'yy') #1 /home/cremorne/www/www/devwp2/wp-content/xxcustom/com.fountaintribe.hebrewcalendarhelper-3.2.2/com.fountaintribe.hebrewcalendarhelper-3.2.2/CRM/Hebrewcalendarhelper/Form/Search/YahrzeitSearch.php(191): HebrewCalendar->util_convert_today2hebrew_date('yy') #2 /home/cremorne/www/www/devwp2/wp-content/plugins/civicrm/civicrm/CRM/Contact/Form/Search/Custom.php(129): CRM_Hebrewcalendarhelper_Form_Search_YahrzeitSearch->buildForm(Object(CRM_Contact_Form_Search_Custom)) #3 /home/cremorne/www/www/devwp2/wp-content/plugins/civicrm/civicrm/CRM/ in /home/cremorne/www/www/devwp2/wp-content/xxcustom/com.fountaintribe.hebrewcalendarhelper-3.2.2/com.fountaintribe.hebrewcalendarhelper-3.2.2/utils/HebrewCalendar.php on line 4269

Can you help please?
Regards
Garry

enhancement request: add wedding date parsha as a token

enhancement request: add wedding date and wedding date parsha as a token in the religious or hebrew dates region on the contact record. Wedding date may be problematic for those contacts who have married more than once, so how do you store the latest wedding date versus the history.

Enhancement: Configure earliest bat mitzvah date

Some organizations want to configure settings for this extension. Such as "earliest possible bar/bat mitzvah date" could be 13 for everyone ( does not depend on gender), or allow girls to be a bat mitzvah at 12

PHP 8.x compatibility

Currently, the extension is not working with PHP 8.x

As a workaround, you can patch the line 155 in /html/sites/default/files/civicrm/ext/com.fountaintribe.hebrewcalendarhelper/hebrewcalendarhelper.civix.php (replace curly braces {} by [] ).

This would be done automatically, if the extension was regenerate using civix (which only the maintainer can do...).

However, I was not able to test the extension completely to make sure everything still works with PHP 8.x

CiviCRM System Status error: "MyISAM Database Engine"

Error message:

Your database is configured to use the MyISAM database engine. CiviCRM requires InnoDB. You will need to convert any MyISAM tables in your database to InnoDB. Using MyISAM tables will result in data integrity issues.

Though this seems to work in many system environments, it better should be solved.

enhancement request: add seating info

enhancement request: add seating info including seat number, available if it is free or vacant or not available as some contacts pay for it during the year, storage box for men especially to hold tallit, prayer books, section of shul for different seats e.g. fixed seats, removable seats, cloth, padded seats, upstairs, downstairs etc and seat comments which is a free text entry area to record comments related to the seat.
I actually set this up on the contact record for manual entry and called the region Seating Information but never implemented it.
If this data was entered then the next step would be to produce a seating plan or layout if possible and or a listing of seat numbers with the assigned contact's name for printing to place on the foyer wall for High Holidays. Need to sort this by name and / or seat number sequence.

DB error due to month having apostrophe in Sh'vat

Db error on temp table when a yahrzeit date falls in Sh'vat when the Calculate job is run as below:
Quick fix take the apostrophe out of the string so Sh'vat becomes Shvat. This allows the Calculate job to run successfully although it produces on screen:
"5776-2-30: inside verify function :

2/30/5776 Test heb: 2/30/5776

5776-2-30: inside verify function :

2/30/5776 Test heb: 2/30/57761"

Sample Log
Sep 10 20:26:38 [info] $Fatal Error Details = Array
(
[callback] => Array
(
[0] => CRM_Core_Error
[1] => exceptionHandler
)

[code] => -2
[message] => DB Error: syntax error
[mode] => 16
[debug_info] => INSERT INTO civicrm_fountaintribe_yahrzeits_temp ( mourner_contact_id,
  mourner_name, 
  deceased_contact_id,
  deceased_name, 
  deceased_date, d_before_sunset,
  hebrew_deceased_date, yahrzeit_date ,
  yahrzeit_hebrew_date_format_hebrew, yahrzeit_hebrew_date_format_english,
  yahrzeit_date_display, relationship_name_formatted, yahrzeit_type,
  mourner_observance_preference, plaque_location,
  yahrzeit_erev_shabbat_before, yahrzeit_shabbat_morning_before,
  yahrzeit_erev_shabbat_after , yahrzeit_shabbat_morning_after,
  yahrzeit_date_morning, yahrzeit_relationship_id
  )
        VALUES(2149, 'XXXX' , 2715,
        'XXXX', 
         '1945-2-9' , 'Yes',
        '26 Sh'vat 5705' , '2017-02-21',
        'כו שבט התשעז', '26 Sh\'vat 5777',
        '21 February 2017 starting at sunset ', 'husband', '0',
        '0', 'Unknown or No Plaque',
        '2017-02-17', '2017-02-18', '2017-02-24', '2017-02-25',
        '2017-02-22', '20'  ) [nativecode=1064 ** You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'vat 5705' , '2017-02-21',
        'כו שבט התשעז', '26 Sh\'vat 5777',
        '21' at line 17]

Various Shabbat Parashat values are empty

Hi Sarah,
Just started the monthly letter production and found that the various Shabbat Parashat values are empty. See the attachment for an example. When I export the data to perform a form letter the shabbat Parashat values are empty too.

yahrzeit-shabbat dates empty

yahrzeit hebrew calendar helper version no used

Help please.
Regards
Garry

Custom Search not displaying selected field values like Mourner's Name

Custom Search not displaying selected field values like Mourner's Name.
V2.7 installed in CiviCRM 4.6.9.
Have setup a 'Yahrzeit observed by' relationship between mourner and deceased and set yahrzeit preference also. Tried both values but no change when Custom Search run.

Result of search is the Mourner's name,Deceased Hebrew Name, Relationship to Mourner and Mourner details (far right of screen) are not displayed.

Month_cur token showing next year as well

Created a letter to go out to Yarzeit observers.
Had someone who's month and father passed away in same timeframe of different years.
This year the Mom's fell out in Dec and the Dad's in Jan.
When using the token for month_cur the dad's as well as Mom for next year came up since the mom is in JAN 2023.

Token needs to be fixed.

enhancement request: add related shabbat parsha as a token

This is an enhancement request to add related shabbat parsha as a token.
If the yahrzeits dates calculated co-incide with say parsha Eikev then it would be great to have this related shabbat parsha available as a token for either the email or pdf actions from the results of the yahrzeits custom search.

enhancement request: add tribe as a token

enhancement request: add tribe as a token.
This data could be selected from a list of values namely, Cohen, Levi or Israelite (default value israelite).
To be stored in religious region on contact record

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.