[nodebb-plugin-calendar] Fully featured calendar plugin for NodeBB - Testers needed

  • Global Moderator Plugin & Theme Dev

    @yariplus Requesting some information about the bug, because I haven't had that problem:

    What browser?
    What commit of NodeBB?

  • Community Rep


    NodeBB: 9ca7243124a3de29b16de0dd280b56ea14bf6c14
    FireFox: 37.0.2
    Chrome: 42.0.2311.135 m

    Nothing is on the server log.

    This is the whole client log:

    "Successfully loaded initial data" cal.js:827:8
    "Calendar templates loaded" cal.js:850:8
    "Calendar translation loaded" cal.js:852:10
    "Initializing Calendar" cal.js:192:10
    "Initializing Events" cal.js:200:10

    I just checked the DOM and the content row is display:none

    <div id="content" class="container">
        <div class="row">...</div>   <~ This has display:none

    I changed it to block and the calendar is partially there but doesn't work. I'm guessing it didn't finish loading.

    Theme was latest lavender, same thing with latest persona.

  • Global Moderator Plugin & Theme Dev


    Okay, so it appears that you're using a language besides it, en_US, or en_GB. That's why the translation strings are all showing up.
    The row had display:none because of a badly-targeted css rule to hide the bottom widgets. I don't know why that NaN is showing up, that's weird.

    I think I fixed these issues in the latest commit. Try and see if a git pull fixes the problems.

    EDIT: Actually, now it should work.

  • Community Rep

    @pitaj Okay, removed and reinstalled your latest from git.

    It loads now and translates, but the day is still NaN and events don't appear on the calendar.

    I am getting an error now:

    TypeError: calendar.days[y] is undefined cal.js:339:12

    Also, events do appear on the forum in the correct category, but they're not parsed correctly.

  • Global Moderator Plugin & Theme Dev


    Alright, is this hosted publicly somewhere? I need to figure out what is actually going on. I know about the parsing thing with the posts.

    I can't figure out why you're getting NaN. The only thing I can think of is that the appropriate data isn't being sent to the template.

  • Community Rep

    @pitaj It's just my personal site. yaricraft.com

    I can make you a ftp/ssh account if you want.

    AHH, I figured it out. It has something to do with widgets. I removed all my widgets and suddenly everything works now.

    Any widget I use, even just plain text, breaks it. Widgets must mess up the template somehow.

  • Community Rep

    Okay, only side widgets cause the error.

    Here's the finished dom with header/footer widgets: (the cal works and the widgets disappear.)

    <div id="content" class="container-fluid">
        <div class="row">
            <div class="col-xs-12" widget-area="header"></div>
        <div class="nodebb-plugin-calendar"></div>

    and with side widgets: (The widgets appear and the cal doesn't work.)

    <div id="content" class="container-fluid">
        <div class="row">
            <div class="col-lg-9 col-xs-12">
                <div class="nodebb-plugin-calendar"></div>
            <div class="col-lg-3 col-xs-12" widget-area="sidebar"></div>
  • Global Moderator Plugin & Theme Dev


    Alright. I think it's fixed. Try it now.

  • Community Rep

    @pitaj Almost 😉

    It works on cold load, but not on ajaxing.

    Looks like it's because the widget areas are not loaded yet at the time you do the detach/append:

          console.log('Widget Area Exists: ' + !!$('[widget-area="sidebar"]').length);
          var cal = $("#nodebb-plugin-calendar").detach();
    "Successfully loaded initial data" nodebb.min.js:979:8
    "Widget Area Exists: false" nodebb.min.js:1009:0
    "Calendar templates loaded" nodebb.min.js:1002:8
  • Global Moderator Plugin & Theme Dev

    @yariplus that must be because the document ready event is allready done when ajaxify does stuff.


  • Mine gets cut off for some reason.
    Also, is it supposed to auto post to Announcements?


  • Global Moderator Plugin & Theme Dev

    @rhistina you're supposed to configure the correct category in the settings page in the ACP

  • @pitaj Thanks! Also do you have any screenshots of what it should look like when it auto posts to the category you want? Mine looks like below. Also note that I'm a total noob to NodeBB and I have no idea what I'm doing :D! So I apologize in advanced for asking questions that may seem otherwise obvious.


  • Global Moderator Plugin & Theme Dev

    @rhistina yeah, right now it just looks like that. I'm working on getting that to work.

    Do you have this on a publicly available server?

    Also, about that cut off thing. Can you tell me what theme you're using and the output of typing the following command in the JavaScript console:



  • Can you explain how the privledges work, it seems a bit confusing to me, can anyone create an event or only the group you assign in the admin panel? I can't create an event even though i've assigned the moderator group access.. I just get "no privledge" error in nodebb dev

    Maybe i have done something wrong... looks good though

  • Global Moderator Plugin & Theme Dev

    @chas the global privileges are set up in the plugin settings page in the ACP. I tried to make that setup the category permissions automatically, but it may not work perfectly. Check the permissions for the category, and make sure the use has permissions to post in it.

  • I think anything i put into the ACP calendar permissions crashes. I add the "Staff" group i made to all three Global privledges, and choose 4 as the category i want to post the event under.

    Im running latest Master pulled today. and as soon as i click "Save Changes" on the Calendar settings i get this in the dev log

    15/5 12:28 [23010] - warn: Route requested but not found: /uploads/av-1323.png
    15/5 12:30 [23010] - error: TypeError: Cannot call method 'replace' of undefined
    at parse (/home/chas/nbb/nodebb/node_modules/nodebb-plugin-emoji-extended/index.js:1:6612)
    at Object.module.exports.parse [as method] (/home/chas/nbb/nodebb/node_modules/nodebb-plugin-emoji-extended/index.js:1:7006)
    at /home/chas/nbb/nodebb/src/plugins/hooks.js:89:12
    at /home/chas/nbb/nodebb/node_modules/async/lib/async.js:272:13
    at iterate (/home/chas/nbb/nodebb/node_modules/async/lib/async.js:149:13)
    at /home/chas/nbb/nodebb/node_modules/async/lib/async.js:160:25
    at /home/chas/nbb/nodebb/node_modules/async/lib/async.js:274:17
    at Object.Markdown.parseRaw [as method] (/home/chas/nbb/nodebb/node_modules/nodebb-plugin-markdown/index.js:105:5)
    at /home/chas/nbb/nodebb/src/plugins/hooks.js:89:12
    at /home/chas/nbb/nodebb/node_modules/async/lib/async.js:272:13
    [cluster] Child Process (23010) has exited (code: 1, signal: null)
    [cluster] Spinning up another process...

  • Global Moderator Plugin & Theme Dev

    @chas the emoji extended plugin is causing an error for you. Try disabling that plugin and trying again.

  • Admin

    Somehow I forgot to respond to this. Very cool. This intrigues me:

    Support for (optionally) using arasbm's Whoisin plugin to power the response system

    Did you create your own hook or something? action:plugins.calendar.add or something like that?

  • Global Moderator Plugin & Theme Dev

    @psychobunny no, I just detect if the who is in plugin exists, and if the user wants to use it, then I use it.

    The who is in plugin has an external method, so when I require it in the init method, I check for that and use it to do stuff.

    Come to think of it, I might not have it implemented yet in v0.2.0

Suggested Topics

| |