Event Manager Plugin version 10.2 Full Calendar not showing in Elgg 3.0.7

Dear Elgg Team,

My PHP skills are not good enough yet to update several Elgg Plugins to version 3.3.8. I therefore reviewed all of the plugins I needed and found that if I used Elgg version 3.0.7, I would only need to update a couple of the plugins (which I have done). The only plugin I am still having a problem with is the Event Manager Plugin. The latest version listed in the Elgg Plugin Directory was version 10.0.1 which claimed to work for Elgg 3.0 https://elgg.org/plugins/736695

However this version had major errors with Elgg 3.0.7. I therefore went to the developer Code Repository page for this plugin and found that there were several more recent versions not yet posted in the Elgg Plugin Directory.

https://github.com/ColdTrick/event_manager/releases

The only version of this plugin which did not give major errors in Elgg version 3.0.7 was Event Manager 10.2. So I installed that. All of my events are online, so I turned off the Map. And the Add to Calendar function is working well. But when I go to Events and click on the Calendar tab, the calendar does not display. One clue as to what the problem might be is this entry in the error log when this Calendar tab is clicked.

UnexpectedValueException: The Response content must be a string or object implementing __toString(), "boolean" given. in /home/washingtonparen2/public_html/vendor/symfony/http-foundation/Response.php:409.../default/event_manager/fullcalendar.css"

So I opened up the Event Manager plugin and went to views/default/event_manager. To my surprise, there was no file called fullcalendar.css in this folder. Nor was there a file with that name in the css folder. So I downloaded several other versions of Event Manager to see if they might have this fullcalendar.css file at this location. None did.

However, version 10.2 has a folder called vendor/bower-assets which has a folder called fullcalendar which is a full size drag and drop calendar as a jQuery plugin. In the fullcalendar folder is a folder called dist with a file called fullcalendar.css. I therefore copied this file to the views/default/event_manager folder and cleared the cache and reloaded the page.

Adding the fullcalendar.css file to the event_manager folder did make the PHP error go way. Unfortunately, the Full Calendar still did not display. Here is a link to my Events page:

https://washingtonparentsnetwork.org/event/upcoming

and here is a link it goes to when I click on the Calendar tab.

https://washingtonparentsnetwork.org/event/calendar

One option I have to move forward is to simply hide this Calendar tab so that no one can click on it. The rest of the plugin works fine. But if anyone can think of a way to get the bower full calendar to display, I would greatly appreciate it.

Regards,

David Spring

  • I also wanted to add that I realize that Elgg 3.0.7 is no longer supported and that Event Manager 2.10 is also no longer supported. So no problems if there are no ideas to help. But given that I have worked hard over the past month to create an Elgg website with no errors, I would really appreciate any suggestions anyone may have to help me resolve this final problem. 

  • Hi there! Just joined this group and I've been introducing myself to Elgg for the last couple of weeks.

    I encountered the same issue you had with fullcalendar.js. The problem was due to skipping the composer install step. So, what I did to make it work was:

    1. cd to mod directory.
    2. clone the latest version of the event_manager repository.
    3. change the permissions/owner if you need to (wwwdata in my case).
    4. cd to mod/event_manager
    5. run composer -vvv install
    6. invalidate/flush caches in the Admin Site to remove invalid cached entry.
    7. activate the plugin.

    It worked for me after that. The part that is still not working are the map features, like search for location, and view location (shows up some weird, non-working maps screen with "development only" whitemark).

    Hope it helps.

    PD: If anyone knows why the Maps are not working, please help!

  • Jose,

    Thank you so much for your help. Now that I see it, I am certain that solution will work. As for the map function, I may be able to help. There are actually two options. One is Google Maps and the other is called Open Street Maps or something like that. I have worked with both options for years using other PHP based content management systems. While I would rather not use Google products if I can help it, in this case, Google Maps is the more stable product. Are you using that open and if so, did you register your domain for the Google Maps key? Because that should work. I did not do it because all of my events are online and therefore I did not feel like spending the 5 minutes it takes to go into my Google Developer account and register to get yet another Google Key. But if you are having problems with Google Maps, I am willing to take the time to get a Google Map key and see if I can get this Event Manager plugin to work. At least that way you would have a second opinion. The only way I could see is if there was a conflict between Event Manager and some other Third party plugin you might be using. If that was the case, you can solve the problem by putting Event Manager at the bottom of the list so that it runs last. 

    Regards,

    David

  • Thanks for the tips! It was my bad that I didn't check the plugin settings. There is indeed a field for a Google API key there! Now, there are many map services, these look like the candidates:

    1. Maps Embed API - Make places easily discoverable with interactive Google Maps.
    2. Maps JavaScript API - Maps for your website
    3. Roads API - Snap-to-road functionality to accurately trace GPS breadcrumbs.
    4. Places API - Get detailed information about 100 million places
    Do you know which one is the right one? (I'm thinking it is the 2nd one, but I could be wrong).
    Also, do I need to have a registered domain name to make this work? (I'm running in a VM in my local laptop).

     

  • I use the Maps Embed API. It is very easy and very adjustable for the User. I am not a fan of the Javascript API just because I am trying to keep the JS down to the bare minimum. But others say it works and displays similar to the embed code and might load a fraction of a second faster. So if your users have poor internet connections then it might be worth a try. But I would try the embed code first. 

  • I'm getting there. I had to do a number of things:

    • create a project
    • create API key for project
    • enable many APIs: embed, javascript, geocoding, places (not sure if all of this is really needed)
    • had to enable billing for the project (there was a js error in the console specifically requesting that :)
    • finally it worked! (at least the map shows up)

    Now, the problem I have is that the function is pretty much useless. On the Create Event page > Location Configure ... Yes, the map shows up, but the Search function does nothing. Also, the map you can zoom in and out, and can drag the little man, but how do you make it accept the location you're at? I'm not sure if this is a half-baked feature or if I'm still having some configuration issue behind.

  • Update on Fixing Event Manager Problems

    This is an update on my week long adventure with the Event Manager plugin and what I have learned so far about reducing errors and getting it to work. I am currently trying to get Event Manager to work in an XAMPP server private test environment and also in a different Linux server Cpanel File Manager public facing website environment.

    First, the Event Manager plugin is one of the largest plugins in terms of file size and almost as big as the entire Elgg folder. Unzip the Event Manager folder and you will see that it has a file size of 34.3 MB. This is way more than is allowed to install plugins in Elgg. The limit is 8 to 10 MB.

    In my case, I was able to install and activate the Event Manager. But it did not work well because it was missing a lot of files and folders. I solved this problem by adding the following lines to the Elgg generated ht access file. (click on show hidden files to see and open this file):

    php_value post_max_size 50M
    php_value upload_max_filesize 50M
    php_value max_input_time 120

    Add these 3 lines just above the rewrite rules. Placing these values lower in the ht access file will cause them to override the default values.

    When I did this, the Event Manager installed properly on XAMPP and on the Cpanel version.

    Folder owner and Permissions Problems

    XAMPP has security permissions that make it difficult to modify files. The owner is a group called daemon. The simple solution to this problem is to right click on the Elgg folder and change the permissions to 777. This allows anyone to make changes on the file. The slightly more complex solution is to make myself a member of the daemon group. I chose the simply solution. The result was that the Event Manager calendar worked well even without running the composer update I discuss below! This leads me to believe that my underlying problem with the Cpanel version of the Event Manager is one of incorrect group ownership or file permissions (which is hard for me to believe because I checked and they are both the same as all other Elgg plugins).

    Composer Update Issues

    I did not even bother running the Composer update of the Event Manager on the XAMPP install since the Event Manager was working fine on the XAMPP install. But I did as suggested above to update composer for the cpanel installation.

    First, I contacted my web host who confirmed that composer was installed on the server. Then opened Cpanel, scrolled down to the Advanced section and clicked on the terminal to open it.

    I then enter this line to move to the correct folder

    cd public_html/mod/event_manager

      Then copy pasted this line:

      composer -vvv install

      This command installed and updated a bunch of ColdTrick dependencies. The resulting Event Manager folder had a file size of 39.2 MB. So running the composer update added 1000 files and 5 MB to the file size.

      I then flushed the cache and reactivated the Event Manager. The good news is that the Calendar finally displays when I click on the Calendar tab of the Events page. The bad news is that, unlike my XAMPP installed Event Manager, any new events I create are not shown on the Calendar Manager.

      Cpanel Folder permissions are 755 and file permissions are 644, I did not change the owner to wwwdata because I think that only applies to a private LAMPP install where elgg is in the wwwdata folder (maybe I am wrong).

      I have spent several days trying to fix this problem. But I am at a loss as to what the problem might be. Any suggestions would be greatly appreciated.

      Regards,

      David Spring

       

      Beginning Developers

      Beginning Developers

      This space is for newcomers, who wish to build a new plugin or to customize an existing one to their liking