• Content count

  • Joined

  • Last visited

About CodingJungle

  • Rank
    Production and Things
  • Birthday 08/18/1981

IPS Marketplace

  • Resources Contributor
    Total file submissions: 32

Profile Information

  • Gender

Recent Profile Visitors

13,543 profile views
  1. i created apps and plugins, and offered them at a lower price than i did on the IPS market. :
  2. enjoy
  3. 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 :).
  4. 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.
  5. 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)
  6. Storm: Dev Tools

    Version 1.0.7


    Storm is a collection of dev tools from the past year of working with IPS 4. It includes the follow: Profiler: Profiles information about your dev board. logs queries and their execution time. Memory total. Include files and their size. Speed, how fast things are executin (profiles db execution and percentage of time it takes to query, as well parseoutputfordisplay in system/Lang.php). Cache, shows what caches are being used and as well which ones being set. Logs, includes the output from \IPS\Log. To enable: in your constants.php, add define('CJ_STORM_PROFILER', true); DB queries, Files, cache, logs are handled automatically. Memory, Speed are partially handled automatically. you can utilize these tabs in your own application: Memory: place this at the beginning of your method: if( ( defined( 'CJ_STORM_PROFILER') and CJ_STORM_PROFILER ) or ( defined( 'CJ_STORM_PROFILER_SAFE_MODE' ) and CJ_STORM_PROFILER_SAFE_MODE and \IPS\storm\Profiler::profilePassCheck() ) ){ \IPS\storm\Profiler::i()->memStart(); } and then this at the end of your method: if( ( defined( 'CJ_STORM_PROFILER') and CJ_STORM_PROFILER ) or ( defined( 'CJ_STORM_PROFILER_SAFE_MODE' ) and CJ_STORM_PROFILER_SAFE_MODE and \IPS\storm\Profiler::profilePassCheck() ) ){ \IPS\storm\Profiler::i()->memEnd( 'myMethod' ); } **the memEnd method requires a paramter so you can easily identify it in the tab/console. Speed: place this at the beginning of your method: if( ( defined( 'CJ_STORM_PROFILER') and CJ_STORM_PROFILER ) or ( defined( 'CJ_STORM_PROFILER_SAFE_MODE' ) and CJ_STORM_PROFILER_SAFE_MODE and \IPS\storm\Profiler::profilePassCheck() ) ){ \IPS\storm\Profiler::i()->timeStart(); } and then this at the end of your method: if( ( defined( 'CJ_STORM_PROFILER') and CJ_STORM_PROFILER ) or ( defined( 'CJ_STORM_PROFILER_SAFE_MODE' ) and CJ_STORM_PROFILER_SAFE_MODE and \IPS\storm\Profiler::profilePassCheck() ) ){ \IPS\storm\Profiler::i()->timeEnd( 'myMethod' ); } **the timeEnd method requires a paramter so you can easily identify it in the tab/console. Autoloader: you can add: require_once ( \IPS\ROOT_PATH ."/applications/storm/sources/Profiler/Autoloader.php" ); to public static function init() in init.php and then use any of the above methods in the autoloader. There is a special method included in this class called "autoloaded". add this below the require_once($path) in the autoloader method: \IPS\storm\Profiler\Autoloader::i()->autoloaded($path); and the files include will gain the ability to tell you which files are autoloaded and which ones are manually included. Special Use: you can use this with IN_DEV disabled, and with CJ_STORM_PROFILER not defined or set to false (if set to true will show to any one). inf you constant.php set: define( 'CJ_STORM_PROFILER_SAFE_MODE'); define( 'CJ_STORM_PROFILER_PASS', 'somepassword'); and if you pass &profilerPass=somepassword it will display for you thru out the remainder of your session. 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:


  7. 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.
  8. 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).
  9. 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.
  10. 1. yes, it has a "pop out" option. 2. the sounds can be enable or disabled, the browsers volume determines their softness/loudness.
  11. 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.
  12. 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?
  13. Can us, the contributors, get the ability to edit the OP (like the content and title)?
  14. 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.
  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