• Content count

  • Joined

  • Last visited

About CodingJungle

  • Rank
    Death by Second Hand Shame
  • Birthday 08/18/1981

IPS Marketplace

  • Resources Contributor
    Total file submissions: 33

Profile Information

  • Gender

Recent Profile Visitors

13,344 profile views
  1. enjoy
  2. I replied to it. babble is mutli-room, the widget can use one of the rooms you create or a "widget room" that only the widget can access. that is the configuration babble on my site currently has, so messages made in any of the rooms wont show up on the front page widget :).
  3. Qestion 1: no there isn't. Question 2: if you do a mention, like @user, the message will get a slight font weight and a colored background (all css) for the user it is intended for.
  4. most of the styling is pulled from the theme, the specific style stuff, is located in: ACP->customization->theme->babble->front->babble.css and desktoponly.css (but that is for the scroll bars)
  5. Storm: Dev Tools

    Version 1.0.5


    Storm is a collection of dev tools from the past year of working with IPS 4. It includes the follow: ProxyClassGenerator: generates proxy class for IPS 4 framework, to allow tools of your IDE like autocomplete and hinting to work. Dev Folder Tools: allows you to recreate the dev folder for a majority of most applications and plugins. this is useful if you are a developer and want to debug issues with third party apps/plugins while in in_dev mode. or replace the Dev Folder incase of them being lost, very useful for plugins. Headerdoc: adds a doc block to the head of each php class in your application on build. On build it adds a temp doc block (this process only runs if the file doesn't have a temp doc block or a doc block that doesn't match the temp block. this will trigger git/svn as the file changing). If the file already has a matching doc block no changes will be made. On download, it will swap out the temp doc block with a permanent doc block in the tar only (this is useful if you use git/svn and so it doesn't mark all files as needing pushed again). Temp Block: /** * @brief Test Class * @author -storm_author- * @copyright -storm_copyright- * @package IPS Social Suite * @subpackage Storm * @since 1.0.0 * @version -storm_version- */ Permanent Block in tar: /** * @brief Test Class * @author <a href=''>Michael Edwards</a> * @copyright (c) 2016 Michael Edwards * @package IPS Social Suite * @subpackage Storm * @since 1.0.0 * @version 1.0.0 */ Headerdoc has the ability to be enabled or disabled and if enabled, which applications it runs on build/download. You will need to create a "storm extensions" for your application. you can do this in the dev center. click on the extensions tab, choose to create a headerdoc from the storm option. the extension has directions on how to use it. Sources Tab: adds a tab to the developer center, to allow you to create class types (normal, active record, node, content item, content comment), creates a basic class file that you can work from. Universal Console Debugger: outputs messages to console, without a browser extension, should support all browsers that support the browser api for console: example: if( defined( 'CJ_STORM_DEBUG_CONSOLE' ) and CJ_STORM_DEBUG_CONSOLE ) { \IPS\storm\Debug::console( [string|array], [type:log,debug,dir,dirxml,error,info], [include backtrace (bool)] ); } to enable, add to your constants.php: define( 'CJ_STORM_DEBUG_CONSOLE', true); File Logger: IPS debug log is sorta annoying to work with, this will write to a log file to disk. to enable, add to your constants.php: define( 'CJ_STORM_DEBUG_LOG', true); Example: if( defined( 'CJ_STORM_DEBUG_LOG' ) and CJ_STORM_DEBUG_LOG ) { \IPS\storm\Debug::log( [string|array] ); } will store by default to uploads/logs, the file will be created without a file extension. Template Debugging: building on IPS DEBUG_TEMPLATES, will store the compiled templates in /templates instead of your OS's temp folder, so if they do error out, the file is accessible. will not auto delete the files after shutdown, will need to be cleared manually. will also only rewrite the file if the contents have changed. to enable, in your constants.php add these two lines: define( 'DEBUG_TEMPLATES', true ); define( 'CJ_STORM_DEBUG_TEMPLATES', true ); if you already have a DEBUG_TEMPLATES constant, just set the value to true. Bitbuck webhook Push: use a bitbuck webhook, only supports "push" for right now. there is a widget that will display the hash, who made the push, and the push message. webhook url:


  6. I'm not sure what they mean by "classic" other than it could mean its a shared host. if they don't allow you to install and/or execute scripts, then its unlikely you can use babble directly on it. you could check out, they have low cost cloud computing you can spin up a server and install node to that, then use it as your node.js server.
  7. you mean IPS Community in the cloud? you can use it, but you would need something like a digital ocean server or something you can configure node.js on (as i don't believe IPS offers this atm).
  8. nodejs is server based, not client based like jquery/ajax. the JS that is used in Babble are various controllers/widgets built using IPS's js framework, its intended to work and play nice with the rest of the JS on the site. It is an application, so it has its own page. but it comes with a widget so you can place it on any page you'd like. yes, you can restrict to who has access to it by group, and also by content count. no, whatever their user name is for the site, will appear as who it is sent by. The only exception is guest messages (if its enabled), their name will be generated for them. there is an archive feature. it is stored in the database under babble_messages. you set how many messages it loads in the room settings, if they have the archive permission, they can go all the way back to the beginning if they chose, there isn't a limit on how far they can go back.
  9. 1. yes, it has a "pop out" option. 2. the sounds can be enable or disabled, the browsers volume determines their softness/loudness.
  10. They use the same core technology, Sockets and Nodejs. Babble has many more features, such as rooms, bots, notifications, custom commands and command aliasing. Babblet is a single room (its widget uses the same room as the main app does), Its more comparable to IP.Chat in this regard than Babble is. Its meant for people who want a bit more control over their chat environment than IP.Chat offers, without the resource drain that a shoutbox has.
  11. Since I am a developer, I've been thinking of adding in a interface for like bitbucket webhooks, to send notifications inside the chat for push's/commits/pulls/etc, any one using babble/babblet as a discussion platform for development?
  12. Can us, the contributors, get the ability to edit the OP (like the content and title)?
  13. Setting up a topic for people to ask questions about or give feedback about Babblet Support is not provided thru the topic, only questions or feedback will be responded to.
  14. Babblet: Real Time Chat Lite

    Version 2.2.2

    1 download

    NOTICE: If you are upgrading Babblet, you will need to restart your babblet.js application. if you have moved it from the default directory you will need to take the updated one, verify the information it contains, and replace the one you removed and then restart the babblet.js app for node. Babblet is the little brother to Babble. It is a real time chat using node.js and sockets. It uses less resources and doesn't rely on long polling or interval scripts to check for new messages, like many other chat systems available. Babblet doesn't have as many features as its big brother Babble, but it is still feature rich. Demo: (you will need to register or logged in to be able to see or use. Babble's and Babblet's user interface are identical, the major differences are lack of rooms for Babblet and custom/alias commands ). If you would like private demo of Babblet, you can send me a PM here or on my site. Discussion Thread: Babble: Requirements: A modern browser that supports web sockets. (Firefox/IE11/Edge/Chrome/Safari supports websockets. For mobile browsers, I will only be supporting Safari and Chrome). Node.js installed on a local or a remote server that can run a node.js script. I have only tested the last 4 versions of node.js, but the latest version of node.js you can install, the better. I will attempt to compile a node.js versions that are compatible with Babble. The php side of babble should work on php 5.5-7 (IPS 4 doesn’t official support php 7 due to incompatibilities with htmlpurifier has with php 7). Notes: babblet requires node.js. This is an unconditional requirement. So many of the features of babblet are nodejs dependent, that there isn’t any fallback to another web technology (like ajax/long polling). With that in mind, Babblet is very javascript dependent, it will not degrade gracefully if javascript has been disabled in the browser,if you have any tin foil hat wearing members, they will not be able to use babblet. Note: *If you have SSL(HTTPS) on your server, you must be able to create a "reverse proxy" in nginx/apache to be able to use babble. **if you are running a server that doesn't use a LAMP ( Linux, Apache, MySQL, PHP) or LEMP (Linux, NGINX, MySQL, PHP) server, I will not be able to give support for. AFAIK nodejs/ will run on windows and mac os x, but configuration might prove difficult. As for *BSD servers, they should operate similar to a Linux server. Each purchase only entitles a installation on 1 live site and 1 dev site. If you wish to run babblet on multiple sites, you will need to purchase babble for each site. If you are found in violation of this agreement, I can choose to revoke your access to future updates and support until the matter is rectified. If you purchase a copyright removal, Babblet will occasional make a call home to to validate the copyright removal key. Copyright Removal keys will need to be purchased for each purchase of babblet if you wish to run it on multiple sites without branding. Features: Uploads: If the upload is an image, the image will be “lazy loaded” and resized to fit the dimensions of the message area better. If it is a non-image upload, it will display a link to download. NOTE: Groups who can see Babblet , can also download and view images. Sounds: Babble comes with a collection of sounds for send, receive, entering, leaving and whispers. Users can enable or disable each sound as they see fit. The sound files can be replaced at any time in the ACP by pointing to the corresponding sound setting to the new location (this is to avoid future updates from overwriting your sound files). NOTE: due to some limitations in mobile OS’s (iOS and android) even if the sounds are enabled by the user, there is one additional step they must take to hear sounds on the effected OS’s. On mobile devices a Speaker Icon will appear, that will need to be activated to be able to hear sounds, this action must be done each page refresh. Whispers: Whispers are private messages that are sent in between users. They will open in a “tab” in the room and will flash when a new message is received if you aren’t currently active on the tab that is. Whispers only work inside the room, you currently can not “whisper” to some one who is not logged into the room you are in (at a later date this might change). Browser Notifications: A user can set how many new messages they receive in a room before a browser notification is triggered (or they can disable them all together). Currently these do not work on mobile OS’s, in the future I plan on adding notifications for iOS and Android. New Message Order: By default babble will order messages newest to oldest, for some users this might not be ideal, so they can reverse the order to oldest to newest. Any new message after this will honor the setting. Archive - if enabled, a user can select to load messages previous made in the room. this is a group permission. Commands: Commands can perform special functions when issued. The commands can be issued thru the chat area (similar to how IRC does it). Some commands have group restrictions. If you need more advanced functionality you can create a “command” file. Command list: Announce – adds or removes an announcement to the room Ban – bans a user for a room. Unban – unbans a user for a room. BanList – Show’s who has been banned from a room. Ignore – Ignore a user in a room. Unignore – Stop ignored a user in a room. Kick – kick a user from a room. Me – an action command for a room. Mute – Mutes a member for everyone in a room. Unmute – unmutes the member in a room. Mutelist – shows a list of users who have been muted. Rules - Show the rules for a room if they have them. Purge - deletes all the existing messages in a room and many more!


  15. Media

    Version 1.0.3


    Media is the spiritual successor to CJ Media System, this app allows you to create media items from popular video/audio services and allows video/audio upload and playback. Features: Categories with permissions Services: youtube, dailymotion, soundcloud, vimeo Supports the pulling in of Youtube Channels and Playlist via task, configurable per category. Supported Video Formats: mp4/webM/ogg (this is browser/OS dependent) Supported Audio Formats: mp3/ogg (this is browser/OS dependent) IPS Tag system (if it is capturing url's from content items and the service supports tags, it will grab the tags from the service and use them. this feature can be disabled) Cover Photos. (Video/Audio can have a cover photo, also the supported services that support the player ( youtube, vimeo, soundcloud) ) Downloads of audio/video files (this is configured per category and you can limit it to groups) Comments Related Media on media view (this uses the tag system, if it can't find any matches, defaults to search via title name) Most of the core IPS features (ratings, likes, follow, category permissions, group permissions,sharing,etc) Featured Carousel Latest Media widget If services are configured with their API's enabled, Will captured supported services URL's and created media items from content items ( IPS applications supported*) Limit which apps you capture services url's from, then which category (for the apps that support categories) Twitter Card: Summary. each media item will configure a twitter card for sharing Expandable API to allow more media services to be added