LATEST FROM OUR BLOG

Take your daily dose of (only) relevant news, useful tips and tricks and valuable how to's on using the latest web technologies shaping the digital landscape. We're here to do all the necessary information sifting for you, so you don't have to, to provide you with content that will help you anticipate the emerging trends about to influence the web.

OPTASY: One of the Top Developers in New York, According to Clutch
Oops!...We did it again! We've got awarded 4 spots in Clutch's latest research highlighting the top-performing development companies in New York. It's in 4 of the industries included there that OPTASY's got recognized as one of the top developers in New York: Drupal development, PHP development, e-commerce, Shopify and web development. Moreover — as if just being listed there, among all those leading development firms in New York, hadn't been enough — we got ranked #2 as Drupal developers, respectively #3 as PHP developers. And, ranked top 15 in three other industries, as well!    Now with the risk of showing lack of modesty, we have to admit that we had been starting to feel quite “at home” on Clutch's matrices. Those highlighting the leading web development companies in Canada, in various industries. But to be recognized as one of the top developers in New York is simply an... overwhelming surprise! And it's almost an organic process if we come to think of it: it's our clients' encouraging feedback that made us open an office in New York, too (besides the one in Oakville, Canada). And it's their feedback, again, that reassures us now that we've made the best decision. We help our clients grow — powering their own ideas with our expertise and experience —  and, in return, they fuel our own growth plans. As natural as that. And this is precisely why we're particularly honored not just to be recognized as one of the top developers in New York, but to get ranked as a leader by Clutch itself.To get listed as a leader on any of their researches is already an honor for us. This because the Clutch team doesn't apply “just” the conventional evaluative metrics when analyzing the “candidates”. Metrics such as industry experience or market presence.  And it's not just data-driven content that they support their selections and hierarchies on, either. Instead, they actually interview both past and current clients of the given companies in order to identify both their strengths and weaknesses. In other words: First it was our clients that named us one of the top leaders in New York, then the Clutch team came to pinpoint their recognition.  See why we're overly honored whenever we get listed on Clutch? Why we can't thank our clients enough for sparing some of their time to answer Clutch's questions; to put their experience with our team and their opinion on our work into words?  Having our passion for what we do reflected in our clients' feedback is such a confidence-booster for us! And receiving, once again, a Clutch recognition can only confirm to us that: our client-centered approach and commitment to excellence make the best long-term strategy. And that we should stick to it. A big “Thank you!” to all our clients for their recognition and a big “Thank you!” to the CLUTCH team for the dedicated efforts put into each one of their famous researches. ... Read more
Adriana Cacoveanu / Mar 07'2018
MuleSoft Alternatives: 7 Other Integration Solutions You Might Want to Consider
Here's where you probably stand now: you need to integrate all your on-premise systems or cloud (or both) applications and to automate them in a perfectly orchestrated infrastructure! And you're asking yourself: “Should I go with Mulesoft's capabilities?” “What if I evaluated other integration solutions, as well?” “What are my other options?” “Which are the Mulesoft alternatives?” Since it's been a while since Mulesoft's Anypoint Platform's been competing with other technologies for users' preference in the enterprise integration software landscape. And competition sure is fierce, and so is your paradox of choice:   each technology comes with its own type of infrastructure  … geared at delivering integration as a service each one's packed with specific capabilities, designed to meet particular integration needs   MuleSoft Anypoint Platform: A Few Words A comprehensive, yet succinct definition would go something like this: MuleSoft provides companies with a next-generation integration platform (Mule ESB & CloudHub) for connecting all their systems (SaaS and enterprise apps) both in the cloud and on-premise. “And how does it work?” “What can you achieve by using it?” You might then ask yourself. Here's my three-version answer to your legitimate questions:   MuleSoft manages and secures the continuous data flow between all the existing systems in your organization it provides your team with self-serve exiting APIs, thus supporting their innovative initiatives it practically unlocks data via APIs, “injecting” it in the indicated external apps and systems from your enterprise infrastructure   Now, if I am to briefly point out some of MuleSoft Anypoint Platform's biggest advantages:   it enables you/your team to deploy your application on cloud with utmost ease it enables your team of developers to easily put together some truly complex orchestration flows: all it takes is some drag & drop on the user-friendly dashboard the containers that it provides and its conveniently simple, user-friendly graphics can only streamline developers' workflow even more it supports interaction with other platforms via web or REST services it complies with all major connection and data representation standards it enables simple and fast APIs exposure    And by far one of the biggest edge that Mulesoft has over its competitors: It's an integration platform that enables different existing apps and systems to connect with each other, acting as a bridge transporting data back and forth between them; and this data flow takes place within your enterprise or across the internet Mule ESB still is one of the most easily (and widely) integrated applications. And now, it would be only fair to point out some of MuleSoft's limitations, as well, right?   it is particularly suitable for complex integration scenarios (since it supports Java code, as well) in short: you'll need to consider having an experienced Mulesoft developer (with some Java background) in your team you might want to be able to interact with MuleSoft support right from the design environment (which is not yet possible) when it comes to dataweave mapping, you'll need to ensure, yourself, that all the fields are mapped, by inserting the right names; you can't rely on some sort of control mechanism to double check that for you instead structuring a process hierarchy is not exactly “piece of cake”, since you'll have to set up flows and sub-flows in the very same XML configuration files   Apigee: One of The Most Popular MuleSoft Alternatives And what makes it such a popular alternative (and implicitly one of MuleSoft's biggest competitors) is the fact that almost all components can be scaled horizontally! But there's more! More reasons why many companies choose Apigee over MuleSoft when looking for the best integration software to “power” their own integration scenarios:   it provides very good documentation (plus a blog), covering all the details of the most “popular” failures and valuable advice on error handling it empowers new users to get started right away, with very little guidance needed: they get to develop a Proxy and APIs right away a conveniently easy to use console   Tibco BusinessWorks Another “rival” that the Anypoint Platform needs to share its worldwide fame with!  Here are some of the strong points that make Tibco BusinessWorks the no.1 choice for plenty of enterprises looking to seamlessly and effectively interconnect all their systems:   it comes “packed” with lots of integration options: you get to test and to troubleshoot the whole process within the designer, you can write (a file activity), then automate a process in just a few hours and to easily deploy it in the Tibco Administrator it's conveniently easy to monitor it handles data manipulation and integration of heterogeneous systems remarkably it makes transforming and analyzing data, as well as managing error cases, ideally quick and simple you get to enable communication between multiple different systems without the need to set up custom APIs short time to market it supports legacy system integration it supports REST services development   JitterBit What is JitterBit's edge over Mulesoft? What convinced me to add it to this list of “MuleSoft alternatives”? It's easy to use! It's a simple way for enterprises to connect all their apps, devices and critical data that they need to get “flowing” for running their business! "Simplicity" and "ease of use" are the 2 keywords to describe this integration solution. And here are some more reasons why JitterBit's on this list:   it's easily customizable it's built to connect a lot of different sources and targets in the “data flow” circuit (SQL  DB, Salesforce, CSV, iSeries, IBM) it enables your team to set up operations (and to apply changes to, when needed) quick and easy, so you can leverage your entire infrastructure within minutes not only that it sync data collected from multiple different systems, but it uses multiple data formats, as well (both for intake and output), which takes the burden of writing custom ETL scrips off your back no steep learning curve   Zapier How can Zapier here, one of the Mulesoft alternatives, meet your integration needs?  It empowers you to automate tasks performed between other online services: Gmail, Salesforce, Basecamp, 249 etc. And here's how Zapier's “arsenal” of features and functionalities looks like; the ones that you get to tap into for connecting and automating all your apps nice and easy:   automated & connect applications automated workflows easy automation developer platform fast build processes    Informatica Cloud Data Integration You sure aren't nickel and dimed in choices when it comes to data integration tools! Informatica Cloud Data Integration is yet another full-featured, complex solution to consider:   it comes with all the capabilities needed for connecting all your on-premise/cloud applications and make them share data no matter what type of apps, since it supports NetSuite integration, Eloqua, Salesforce, Workday, Marketo, SAP, Oracle it enables you to extract data from your ERP systems, to transform it and then to “inject” it into your operational data stores   Oracle Integration Cloud Service As its name “divulges”: it's Oracle's cloud-based integration platform that we're putting into the spotlight here! Similar to the Mule app since it, too, provides a data environment in exchange, Oracle ICS's “job” could be summarized as follows: It provides a user-friendly web-based interface which makes possible for “citizen integrators” to peform basic mapping between the interconnected (cloud) applications. But the 2 key features that turn it into one of the Mulesoft alternatives are: unlike Mule, Oracle provides an enterprise information integration, too (EII) it provides several different adapters, suitable for a wide range of cloud-based business applications Practically, with just a few clicks, you can set up a connection to the Oracle Sales Cloud, SAP, RightNow, Salesforce, Oracle E-Business Suite and the list can go on... And now to mention just a few more of Oracle's strengths:   it's easy to use (and I've just mentioned here its user-friendly web-based UI) it takes just a few clicks to access your integration platform; no need to bring your own servers or software to the table   MuleSoft vs Dell Boomi Not only that it “spoils” its users with an easy to use UI, drag and drop convenience for creating new processes and excellent support, but there's a whole “pile” of other features that make Dell Boomi one of the Mulesoft alternatives:   it provides a multi-purpose PaaS integration cloud  cloud-to-cloud integration B2B integration multiple tenant platform SaaS-to-SaaS integration    Furthermore, if I were to highlight its biggest strengths, I'd pick up 3 main benefits that you can reap from choosing it as your integration solution:   getting a simple integration up and running will only take you about a couple of hours great visual interface that will speed up most of your team's tasks you get out-of-the-box connectors to Taleo, Salesforce, plus many other popular SAAS   But (for there is, indeed, a “but”) there are also 2 discouraging drawbacks that I have to point out to you:   the XML split does cause some irritating issues it's overly “picky” when it comes to the data format and the data type that it accepts   Now, if I am to sum up this “MuleSoft vs Dell Boomi” comparison in just one succinct, yet complete phrase, it would have to be the following: While Dell Boomi's geared at providing you with comprehensive solutions for cloud integration, Mulesoft's “specialized” in API-based integration. This is the key difference between the two integration solutions!   In Conclusion  Determine and evaluate your integration needs first! It all boils down to this... And that way before you jump to weighting each one of these integration technologies' strengths and limitations! For it's only after you've defined your needs that you should start looking for the software capable to meet them. ... Read more
Serge Karpyuk / Mar 05'2018
From Drush Clear Cache to... Rebuilding Cache in Drupal 8: What's the Difference?
The Earth is round, a buttered toast will always fall butter-side down and doing clear cache is every Drupal developer's best practice, these are all globally-accepted truths! And speaking of the latter, when you discover that the familiar Drush clear cache technique is no longer universally unique you wonder: why the change? Why go from clear-cache, to... actually rebuilding cache, starting with Drupal 8? What's the catch? This new way to clear Drupal cache must be stemming from a certain limitation that earlier versions of Drupal presented: Partially completed cache-clearing operations threatening to grow into fatal errors. And now, let's dig into more details on:   clear Drupal cache: why & when the 4 methods for clearing your cache in Drupal Drush clear cache vs rebuilding cache: differences, the initiative behind this change, main benefits to expect    So, shall we proceed?   Clearing Your Drupal Cache: Why Bother? And When? First of all, here's the “motivation” that drives Drupal to create a cache in the first place: Each time a Drupal site has to render a certain web page, it is “forced” to perform specific database queries; and since all these queries have a negative impact on the overall page loading time, Drupal “decides” to store these web pages, once it will have rendered them, in a cache for later (streamlined) reference. OK, now that we've settled this whole “cause and effect” process, let's see why and when you should clear cache on your Drupal site:   when you're troubleshooting problems on your website; clear Drupal cache before you undertake any debugging, since this might just confirm to you that the “alerting issue” was nothing but a bad cache entry whenever you want Drupal to quickly record all the updates that you will have performed via the UI, all the changes you will have applied to your code when you're moving your website to a new host when you're installing a new theme or module on your Drupal site; just another scenario when Drush clear cache should be the very first step to take while you're troubleshooting   In a few words: clearing your cache might just be one of the most frequent actions you'll take while working (or simply maintaining) on a Drupal site.  And in many cases, the one that will “save the day”, without the need to apply other more complex techniques from your “arsenal”.   4 Different Methods to Clear Drupal's Cache  For there are several ways for you to clear your Drupal site's cache. Just go with the one that best suits your work style:   1. The Easy Way: Clear the Drupal Cache From the User Interface  By far the handiest (and some might say “the less-efficient”, too) method to clear Drupal cache is via the UI:   just go to Administration>Configuration>Development>Performance  and hit the “Clear all caches” button   It won't be long till Drupal displays the “Caches cleared” message for you! And that's it! 2. Drush Clear Cache (Drupal 7) or Drush Cache-Rebuild (Drupal 8) And now, the second method in your “arsenal”: the clear Drupal cache command line one! A two-way method, better said, which depends greatly on the version of Drupal on your website: 7 or 8? In this respect, here's the “magic command” to use for clearing your Drupal 7's cache: drush cache-clear all  or drush cc all Whereas in Drupal 8, this is the Drush command for tackling your cache: drush cache-rebuild or, alternatively, these 2 aliased commands: drush rebuild or drush cr And here I'm sure you can already tell which are the specific steps to take for handling your cache in Drupal 8 using Drush (still the most convenient way to do it):   first of all, you open a Terminal window and CD in your Drupal 8 website's root (a step that you can overlook if it's Drush aliases that you're using): next, your run your “magic formula”, your Drush command (“drush cache-rebuild” or “drush cr”) and wait for it to complete its task before going back to your website and finally, you just reload the page you were on, in your web browser   3. Run the /core/rebuild.php file for Clearing Your Drupal 8 Site's Cache  Among all the improvements that Drupal 8 “lures” us in with (built-in WYSIWYG, a Twig templating system and so on), there's the /core/rebuild.php file standing out! And “promising” us to streamline our frequent (and time-consuming) cache tackling tasks that we need to carry out during development: The Drupal 8 site in question doesn't even have to be working and the whole process doesn't require Drupal Console or Drush either! How about that? The one and only requirement (for there still is one) is that your site's configuration supports it.  And how can you check whether your site's config accepts this functionality? Well, there 2 methods at your disposal:   in case you're working locally, just ensure that $settings['rebuild_access'] = TRUE; in your settings.php (settings.local.php) or run this script in your command line: /core/scripts/rebuild_token_calculator.sh; then just use the results there as query parameters for /core/rebuild.php (https://goo.gl/qTrJ9d)   And voila! This “trick” will rebuild all cache without even requiring for the Drupal 8 site itself to be working during the whole process!  Which makes it the perfect “plan B”, whenever you don't have Drupal Console or Drush installed where you're working! The only condition is that your websites' configuration supports this functionality!   4. In the Database: Truncate all Tables Starting With “cache_” Spoiler alert: by “truncate” I do mean emptying, not removing! The fourth method to clear Drupal cache involves clearing all the data from the cache-related tables in your database. Meaning all the tables starting with “cache_”. For this, you just go over to your phpMyAdmin, select all the cache_* table and then click “Truncate” in the “with selected” drop-down menu placed at the bottom of the page: TRUNCATE cache_config; TRUNCATE cache_container; TRUNCATE cache_data; TRUNCATE cache_default; TRUNCATE cache_discovery; TRUNCATE cache_dynamic_page_cache; TRUNCATE cache_entity; TRUNCATE cache_menu; TRUNCATE cache_render; TRUNCATE cache_toolbar; As for the command line, feel free to scan through and then to tap into the valuable info that you'll find here: https://goo.gl/1b4otB here's another practical example: Let's say it's Sequel Pro — an SQL GUI app — that you're using. For truncating those specific tables, connect to the server, track down your site's database, have those specific “cache_” tables highlighted and just choose “Truncate tables”, from the drop-down menu! Also, in the above-mentioned “scenario” you could alternatively go to your PhPMyAdmin's SQL command field or MySQL CLI and run the above-mentioned command:   From Drush Clear Cache to Cache Rebuilding in Drupal 8: Why the Change? Here's the challenge that the conventional Drush clear cache (or “drush cc all”) used to make us deal with: Drupal's using caching intensively and therefore, it implicitely creates lots of inter-dependencies. Only partially flushing this heavy load of caches used to pose some major risks for any website. This is where the “cache-rebuild” method stepped in, starting with Drupal 8! It practically rebuilds (re-bootstraps) the whole Drupal site, after making sure that all cache is perfectly cleared. A “check and double check” technique, you may call it, which makes sure that:   your site is up and running all cache gets flawlessly flushed!   Drupal 7's so very popular Drush cache command itself gets cleared and replaced with “cache-rebuild” in Drupal 8. Which (the Drush cache-rebuild command specific to Drupal 8) carries out the following tasks:   clearing the APC cache  bootstrapping Drupal calling drupal_rebuild()  removing the Drush cache    4. Wrap-Up Summing it up now, the essential info to remember is that:   “clear cache” should be on top of your “best practices” list as a Drupal developer  you have not just 1, but 4 methods to choose from, depending on your work style and context: via the UI, clear cache using Drush, by truncating your “cache_” database tables, by running the /core/rebuild.php file Drupal 8's cache-rebuild is a step forward from the conventional cache-clear practice; it adds a new “re-bootstrapping” operation to the “cache clearing” process! ... Read more
RADU SIMILEANU / Mar 02'2018
PhoneGap vs React Native: Which Platform to Choose for Building Your Mobile App? And Why?
A great developer experience or a great user experience? A familiar web technology for you to code in or native-like performance for your users? And these are just some of the questions “taunting” you right now, while dealing with a PhoneGap vs React Native dilemma, right? Each platform comes with its own “temptations” to... lure you in:   PhoneGap promises you an “easy life” as a mobile app developer, enabling you to use any JavaScript library and framework that you're comfortable working with React Native promises you to inject native-like performance into your app and thus...  to perfect the user experience   So, which one to go with?   PhoneGap: A Brief Overview A compromise! This is, in my opinion, the perfect word/metaphor to describe PhoneGap. A compromise in terms of user experience and performance, since it's hybrid mobile apps that you get to build using this technology:   a JS/CSS/HTML app having a browser-based UI (giving you the freedom to work in any of your preferred web technologies) that exposes native mobile device APIs and data; accessing phone components through the API navigator   While a more “formal” definition would go something like this: PhoneGap is a distribution of Apache Cordova — coming with a few tweaks and custom packages —  that you can use for embedding websites in mobile apps via WebView. In short: more than a website, yet not a fully native mobile app. A hybrid app compromise!   A Few Words About React Native  In a  PhoneGap vs React Native debate, the latter would always have its native components rendering “trump card” up its sleeve: For a React Native-powered app is written in JS, like a PhoneGap one, yet it doesn't just render a webview, but REAL native components instead! And that, my friend, would also win over users: it's better user experience and zero compromises on performance that you get “rewarded” with for using React Native. You could also take this mobile app development platform as the answer to users' becoming more and more demanding: If hybrid, HTML 5 and/or mobile web apps used to be enough to “satisfy” their needs, while being a “blessing” for developers' budgets, as well, mobile users started to crave native-like performance. And so, React Native emerged! It's a convenient “bridge” between JS and native platforms:   React Native apps get written in JavaScript they “play by the rules” and meet the standards of the operating system ... while accessing a big part of the native platforms via this metaphoric “bridge” that React Native creates   PhoneGap: Tempting Benefits vs Discouraging Disadvantages Now in order to get an accurate score to our “PhoneGap vs React Native” debate here, we'd better go “pros and cons harvesting”, right? So, without any further ado, I'll list some of PhoneGap's “irresistible” advantages first:   it “spoils” the developer with a wide range of frameworks/libraries to choose from; if you're a big fan of web technologies, if you enjoy building UIs in HTML and CSS, you'll love the rich collection of choices that PhoneGaps puts at your disposal therefore, PhoneGap is easy to work with and developer-friendly it's not bound to any specific framework  PhoneGap-based apps perform within wrappers targeted to each platform and use API bindings that comply with the all the given standards for accessing each mobile device's data, network status, sensors it's based on the “write once run on every platform” philosophy: you get to “reap” the benefits of cross-platform development; just “work your magic” in any of the web technologies that you're comfortable with and have your app running on all available platforms … with no need to get yourself tangled up in each platform's native development language your app will have a similar UI on all native platforms    And now, the limitations that you need to consider when building mobile apps using PhoneGap:   by far the biggest inconvenience is the sluggish performance (leading to poor user experience, needless to add); and it's a more than predictable drawback considering that the web was created for web pages, not for heavy, animations-loaded, complex apps you risk to get all the issues of the web, as well, right out-of-the-box, along with your PhoneGap hybrid app. Bugs specific to certain browsers or styles that work differently depending on the browser here included!    In short: on one hand, you get to enjoy a great developer experience, on the other hand, you risk to compromise the user's experience!   React Native: Top Pros and Cons In a PhoneGap vs React Native “competition” the former would always fall behind when it comes to performance: React Native is undoubtedly faster. And here are some other benefits to "reap" for using React Native to build your mobile app:   it renders real native components instead of a webview also, since it renders NATIVE views without using webview as an intermediary, expect to face no browser compatibility challenges there's strong social proof, highly relevant evidence for its reliability: Instagram, Airbnb, Uber it's committed to the “learn once, write everywhere” philosophy; once you're familiar with React, you'll be writing native apps in no time, with no need to delve into Java or Objective-C coding, unless you want to extend your app's functionality moreover, React's backed by a huge community, so during your learning time and then during your app development process, you can rely on plenty of “expert” support  the user experience is significantly improved: a React Native app will always have a native look and feel to it compared to a mobile web app  also, since it renders native views, expect smoother, high performant animations, as well   Yet, React Native does come with some drawbacks, as well, that might discourage some (even you!):   you need to be familiar with React, there's way around it you'll need to write an app for every native platform (due to that above-mentioned JS-native platform based structure) since some of the components might be platform-specific don't expect to be able to use HTML: it's native components that you'll need to "juggle with" And The Answer to “Your PhoneGap vs React Native” Dilemma” Is... “It depends!” If you've already used React for the web, so you're definitely not stepping on alien ground, go with React Native! It would be a pity not to leverage your React knowledge and not to benefit from all the top performance that you get to inject into your mobile app! Not familiar with React? And, moreover, you love having an entire “palette” of familiar web technologies at hand, to just “grab and use”? Then you'll love PhoneGap's “developer friendly” approach! The END! Hope I've included all the most relevant pros and cons and managed to pull off some good explanations on why some developers get seduced by Facebook' baby, React Native, while others prefer to tap into familiar PhoneGap's own advantages. How about you? Where do you stand now?  ... Read more
Silviu Serdaru / Mar 01'2018
How to Use Gulp To Streamline Your Theme Development Process in Drupal 8
Automate all site-building tasks and streamline your theme development process! In short: reduce development time and boost your productivity as a Drupal 8 themer with Gulp! But how to use Gulp to automate your workflow? How do you set it up and run its toolchain in conjunction with Drupal? How do you move away from the old practices of the “good old days”,  when you had to write your themes in pure CSS? Since you had no alternative... How do you “harness Gulp's power” to automate tasks that are crucial for your Drupal 8 theming process such as:   compiling SASS and LESS watching/generating CSS files from SASS testing generating static design pattern pages reloading the browser  optimizing assets: images, JavaScript, CSS   Well, keep reading and “thou shalt find out”!   But What Is Gulp, After All? I confess I couldn't come up with a better definition for Gulp, than the one on the official site: "… a toolkit for automating painful or time-consuming tasks in your development workflow, so you can stop messing around and build something." More often than not referred to as “build tools”, Gulp is a front-end automation tool aimed at streamlining your theme development process. Basically, it enables you to have all those tasks that are critical (and time-consuming) for your workflow run... automatically! And thus to give your productivity as a Drupal themer a significant boost!   Why Use Gulp over Other Theme Development Streamlining Tools? Here are 3 of the strongest reasons why:   because Gulp configurations are conventionality simpler, shorter because using Gulp you get to capitalize on a wider community support because it runs faster, as well   How to Install Gulp A word of caution: since Gulp is a node module, make sure you install Node.js (this, of course, if you haven't installed it already) first things first. Needless to add that:   you should go for the latest version of Node.js the installation process depends (and may differ) greatly on the Operation System that you're using   Install Homebrew, then run the following command: $ brew install node Now, for installing Gulp, type the following command: npm install gulp-cli -g Where “npm” stands for the “Node Package Manager” used for installing Gulp on your PC. And where the “-g” flag signals that Gulp should be installed globally on your PC.   Creating Your Gulp Project: Set Up Your Package.json File As you well know, Node.js uses “npm”, a package manager “in charge” with downloading and installing all the modules required for a given project. And all these modules get defined in a “package.json” file.  So, this is the step you, too, should take now: setting up your package.json file in the very root of your Drupal 8 installation. For this, just run the following command inside that directory: npm init It's inside this newly created package that all the key information about the node packages required for your specific project gets stored! Therefore, make sure to fill up all the needed information as you put together your package.json. Note: still, you should also know that all the prompts are ideally intuitive and that even if you leave those fields blank, you can always come back later and change the default values. Remember to set the entry point to “gulpfile.js” and, once you add the required information for your project, keep in mind to specify your git repository. An Important Word of Caution! Your “How to use Gulp to automate my theming tasks in Drupal 8?” question should be accompanied by: “How to prevent triggering a segmentation fault?” One that you might involuntarily trigger once you run Drush. Since Drush will consider the node package's own .info file files as part of Drupal and since it doesn't recognize their format... trouble happens. Here's how you avoid segmentation fault: add a script to the package.json file, whose main role will be to remove all the .info files from the node_modules folder And now, let's go back to our package.json setting up process! One last piece of advice that I'd like to add: if you've run the “npm init” command for creating your package.json file, remember to identify the “scripts” section and to replace the following line: "test": "echo \"Error: no test specified\" && exit 1" … with this one: "postinstall": "find node_modules/ -name '*.info' -type f -delete" And one more thing: set up the following .npmrc file in your theme folder's root: unsafe-perm = true Here's how the “intro” of your package.jso file' structure will look like: "name": "...",   "version": "...",   "description": "...",   "main": "...",   "author": "...",   "private": true,   "devDependencies": {     "browser-sync": "...",     "gulp": "...", Once you have your package nicely set up, go ahead and install Gulp into your project by running this command: npm install gulp --save-dev  Note: you might be wondering why you need to install Gulp... again. The answer is simple: first, you installed Gulp globally and now you're installing it into your Drupal project! In this respect, it's  “--save-dev” which will let your PC know that Gulp needs to be added as a dev dependency in your packgage.json. All Gulp files and dependencies associated with it will get downloaded and a “node_modules” folder will get created.   Set Up Your Gulpfile.js You're not yet done with setting everything up! There's still one important step to take before you discover how to use Gulp to create and to automate your site building tasks: setting up the gulpfile.js! For this, just:   go to your custom theme directory manually create a gulpfile.js file by either using the cmd/terminal or just by right-clicking to create a new file   Note: keep in mind to change the config variable so that it should match your paths! Also, make sure that all your CSS gets stored in the same “CSS” directory in your theme (for example: sites/all/themes/my_theme/css/application.sass)    How to Use Gulp to Create and Automate Key Tasks for Your Workflow And finally, we've reached our “destination”!  The very goal of this blog post after all: determining which site building tasks are crucial for my/your own workflow, creating them and then automating them all with Gulp! Do you fancy automated:   Sass compiling into CSS? cache clearing “detection” of all the changes you will have applied to your .scss files? page reloading?   And your “wishlist” might go on...  Well, the answer to your “How to use Gulp to automatically run task “x” or “y”?” is simple:   Just run the gulp [task_name] “magic formula” in your terminal!    Here are some examples:    gulp.task('watch', function () which will watch for all the changes applied to your scss files and automatically recompile  gulp.task('reload', ['clearcache'], function () which will clear cache, then automatically reload the page  gulp.task('browser-sync', function() which will automatically run the BrowserSync server In order to get the whole process started, simply type “gulp” in your terminal. The END! Your turn now! Time to use Gulp to its full potential and to automate all those key (and time-consuming) aspects of your theme development process in Drupal 8!  ... Read more
Silviu Serdaru / Feb 28'2018
15 Android App Development Tools Essential for Every Developer's Toolbox
Simplify! This is the right way to go if you're “obsessing” over your productivity as an app developer. Declutter your toolbox and keep only the truly essential Android app development tools in there!   But which are they? What are the tools for developing Android applications that shouldn't miss from any developer's personal “arsenal”?  The most effective ones when it comes to helping you:   become (even) more efficient by improving your workflow and thus speeding up your development process develop higher-quality apps And this is where this blog post here comes to “the rescue”! It's a selection of THE fundamental Android app development tools that you should keep at hand (take it as your productivity-boosting toolkit). Ranging from: IDEs to emulators to design tools to game engines … and geared at streamlining your debugging, your performance-checking, they make the best Android developer tools to rely on in 2018: 1. LeakCanary Stay vigilant and alert for detecting any memory leaks in your Android apps right on the spot! But mind this doesn't take too much of your valuable time! Instead, rely on this powerful tool in your developer's toolbox for identifying them. It will take this time-consuming “burden” off your back and alert you any time it tracks down a memory issue threatening your app.  Moreover, LeakCanary provides you with a full stack trace so you can have those memory leaks fixed right away, too. 2. AIDE You'll have a crush on this tool if: you're a beginner, struggling to get started with that innovative Android app idea of yours (and, hopefully, to turn it into the next big thing in terms of Android app development) you're planning to learn Java and Android SDK: it will practically enable you to follow your favourite tutorials with highlighted code and then to get them tested... in real-time, on the very same device! In short: the irresistible advantage of AIDE and the very reason why it's got included in this selection of essential Android app development tools is that it runs on Android! Just imagine it: You get to develop your Android app on your device, nice and easy, then you get to test it... on that very same device! This is the true “superpower” that this development tool provides you with!  Note: don't expect it to be free, for it isn't, nor to “spoil” you with a full load of features.  3. Vysor The power that you'll unlock by including this tool in your smartphone application development process? It mirrors your real device on your PC. And this does turn into a true power if you're one of those developers who hate building their apps on emulators, yet they crave the advantage of using one. There's more! Vysor will even mirror your live app demos on projectors and big TV screens. So, if you think that this functionality matches your own work style, that it streamlines your workflow and helps you create a better app with greater ease, go for it! 4. Stetho Debugging native Android apps will never be the same again! That if you use this open-source platform wearing Facebook's signature here when you go “bugs hunting”.  And not only that it makes your debugging work so much easier, but it's also geared at landing you a much needed helping hand with your: inspecting the SQLite database checking the View hierarchy monitoring network operations A debugging tool that shouldn't miss from your toolkit! 5. B4A, One of “Speed-Injecting” Android App Development Tools  For “rapid development” is what you'll achieve by leveraging this tool's features. And these are: the ability to develop Android apps using the much simpler BASIC programming language  a visual editor for manipulating your views to your liking wireless debugging In short, B4A (Basic for Android) makes such a convenient IDE and interpreter enabling you to create your app in a simpler procedural programming language. Plus, it comes packed with other advanced features to speed up your development process (as above-mentioned).   6. Android Studio The “Holy Grail” of all Android app development tools! Officially it's the IDE for Android.  But in reality, it's your own “Swiss knife” to use as an Android developer! Since it plays multiple roles crucial for your mobile app development workflow: it's a compiler that you get to leverage to create a file system for arranging your app project, to create multiple APK files it's an editor for the programming language that you'll decide to use in your app's development process (whether it's Java, Kotlin, C++...) it's an XML editor (providing you with a “design view”, as well, that will guide you in displaying your app's elements on the screen; crucial for keeping up with Google's Material design guidelines) it also includes the Android SDK itself (yet, the Java SDK needs to be downloaded separately) In terms of pros and cons, do expect a steep learning curve for developing with Android SDK and Java. But once you've got through it, do expect to gain access to unlimited support, to a whole bundle of advanced features and to unmatched integration functionality. From this standpoint, Android Studio is the “can't live without” tool-set for any developer!  7. Codota Does this scenario sound familiar to you? You hit a dead end down your app development roadmap and you need to go over to Github or StackOverflow and have a quick look at some code examples! Well, Codota enables you to do precisely that, but without having to leave your IDE. Talking about speeding up your development process, right?   8. GenyMotion Far gone are the days when GenyMotion used to be “just” the developers' top choice whenever they wanted to create their apps using an Android emulator. It has now grown into a complete platform whose powers you get to harness for: developing your app testing it deploying it Do consider it as a “candidate” to be included in your own toolbox of Android app development tools essential in your work this year. 9. Visual Studio with Xamarin These days you get Xamarin right out of the box with Visual Studio, Microsoft's IDE. One supporting a whole wide set of languages: JavaScript, C#, VB.net, and others, too, via extensions. And what's the “deal” with Xamarin? What makes it “essential” for your toolbox?  it enables you to develop cross-platform apps using C# (have you been “toying” with the thought of developing an app both for Android and iOS using the very same code?) … to test them on different devices that are connected to the cloud A word of caution: accessing and working with Java libraries isn't really “a child's play”, do be prepared for that; also, you need to accept that you'll be losing some of Google's cool integrated features and support. 10. Source Tree It makes any smartphone app developer's trump card making his work on Git as efficient as it can get! Basically, this tool's aimed at making Git cleanly organized so you can visualize all your work there — commits, changes, branches — in the form of an easy-to-navigate-through structure. And all this without the need to use the command-line! One that can only boost your productivity, as it helps you sweep through Git with great ease! 11. Fabric, One Those Powerful Android App Development Tools You Should Be Using And its power lies in all the capabilities that it's been invested with. It provides you with a whole set of features designed to help you: develop deploy extend … your Android apps' functionality fast and easily.   12. Eclipse Once developers' very first choice when they started selecting the Android app development tools to build their toolboxes with. This until it got “dethroned” by Android Studio! And yet, Eclipse should still be part of your toolkit. It's an IDE that supports a wide range of programming languages after all (Java with the Android SDK here included).   Note: still, do not expect it to get you “spoiled” with out-of-the-box support, like Android Studio does, so be ready for some setting up work! 13. InstaBug A tool that takes “bug hunting” to a new level! Practically it empowers users to share video, audio recordings, screenshots, detailed logs whenever they detect anything suspicious in your app. And these user-generated “signals” become priceless in your constant attempt to keep your app bugs-free! 14. Unreal Engine If it's a cross-platform, feature-packed game app that you're planning to build, this game engine might turn out to be your best “ally”! Here's why: it provides easy support for Android it's open source when it comes to graphics, it does have an advantage over its “rival”, Unity   15. Takt Team up with Takt in your major lags and bugs detecting “adventure”!  This library will help you check your app's FPS thoroughly and spot down bugs right in its development phase.  For you don't want them to linger on in there once your app's being used in its production phase, now do you? The END! I know what you might think right now: Each developer's toolbox depends solely on his/her preferences, goals and personal work style. It's perfectly true and I've anticipated this “objection” myself. Therefore, I've grouped here only those truly essential Android app development tools that one should “carry” in his/her toolbox. ... irrespective of his work style and goals set for his/her app. ... Read more
Silviu Serdaru / Feb 24'2018
When & Why Use RESTful Web Services Instead of The Traditional SOAP-Based Ones?
When to use REST? What are some practical use cases of REST web services? How does it work? What's the “catch”, why has this new architecture for web services had such an impact on the industry? How is it any different/better than SOAP? Why use RESTful web services after all? “Tormented” by all these questions related to the REST approach/alternative to building web services? Relax now, you'll have your answers in a minute (or a few seconds)! For here are the REST-related “enigmas” that I commit myself to solving in today's post:   What is REST and how does it work? Which are the specific use cases for building web services using the REST architecture? What's driving it? Why is this technology increasingly popular? What sets REST apart from the traditional SOAP approach to web services? When NOT to use RESTful web services?   And now... the answers that I promised you:   What Is REST and How Does It Work? Here are some valid answers to all your “What?” questions: “What is REST?”, “What are web services”, “What are RESTful web services?”   REST is the native API of web browsers REST is how one creates web services web services are... the future of everything: creating and publishing APIs that would do CRUD (create, read, update and delete) … thus making machine-to-machine communication possible, making apps' functionality accessible to multiple users and external systems RESTful web services are those resources on the web that can be tapped into for retrieving certain information   “And how does it work?” First of all, we should get one thing straight: REST is not an official standard! It's more of an architectural style, the one organizing a network of systems, where the “systems” are basically servers and clients. Here's how it works: Clients make a request to the web servers; the latter process it and, in response, return the appropriate web pages. And in this request-and-response equation, RESTful web services are the very resources on the web that servers tap into for retrieving the requested data. Does this definition shed any light on your RESTful web services-related questions?    Why Use RESTful Web Services? Here's the actual context where the RESTful web services technology emerged and “grew like a beanstalk”, with a huge impact on the industry: The web “exploded” and, starting with web 2.0, the interaction between websites and client apps, between multiple sites, multiple devices, sites and databases, became increasingly intense. And more and more “demanding”, calling for a new technology that could handle and streamline this communication taking place on the web. And here's where web services and REST, a new way of building them, emerged! The REST architecture is designed to build:   maintainable lightweight scalable    … web services, which make retrieving the data requested and “exposing” all that information far less cumbersome. As compared to the conventional SOAP/XMLRPC web page-scrapping method. Data's being passed on the web, from one website/app/device/database to another, faster than ever these days. Just think about all those websites incorporating Twitter and Facebook content! Or of websites “capturing” data coming from multiple sources: financial information, sales data, online communities... RESTful web services is the technology that streamlines all these intense data “harvesting” processes! This is the answer to your “Why use RESTful web services?” question.   When Should You Use RESTful Web Services? 5 Practical Use Cases There are specific use cases when you should go “the RESTful way”. Adopt this approach to building web services if:   1. In your distributed app it's crucial to keep the coupling between client and server components to a minimum:   you'll need to be able to update your server frequently, without having to update the client software, as well your server's going to be used by multiple clients, yet you don't want them to have control over it   Just make sure you follow all the REST constraints for achieving this kind of basic level of coupling. Maintaining a purely stateless connection will be challenging, but not impossible if you “follow the rules”.   2. It's a custom, on-demand digital product that you're developing Such as an Ubercart or Drupal online store that you're putting together on a remote cloud server:   you set it up create a suitable architecture that would scale the environment if/when this your custom product goes viral   3. You want your game's high scores and user community forums to be displayed both in-game and on the web Let's say that you're a mobile/console game developer facing the above-mentioned “challenge”.  In your practical use case you can:   have your Drupal site publish an API, using Services (thus doing “CRUD” with the data that needs to be “harvested”) leverage a RESTful type of communication with the Drupal site in order to retrieve that data and have it displayed in-game, on mobile/console, too   4. You want to create a user alert system on your e-commerce website One that would alert your customers, via your e-commerce mobile app, whenever a product that they visualized becomes available (or its price drops). Also, you want those alerts to pop up in an iPhone app and on Facebook, too. And the solution is: Your Drupal site (for yes, it's a Drupal site that you own in this scenario) will use Services & a custom module to have the example.com/alerts/uid API published. And it's this specific API that the iPhone app and Facebook will use for manipulating that particular content to be shown in the user “alerting” message.   5. You want to provide (paid) access to commercially-controlled data Such as movies, music, stock or trading data. Imagine that you own an event venue and you publish a ticketing API. People (such as ticket brokers) will be charged for gaining access to it. In short: RESTful web services for can be used for all kinds of commercial activities, as well. Just use them to create and to publish the API that will do CRUD with precisely that commercially-controlled data that people are willing to pay for gaining access to!   What Sets REST Apart from the Traditional SOAP Approach to Web Services? Of simply put:  Why use RESTful web services instead of the traditional SOAP-based web services? Here's a list of strong arguments:   with REST, all that intense data interaction is more lightweight; it doesn't weight so heavy on your web server like a SOAP page-scrapping method would with REST, only the specifically requested information gets retrieved, instead of having whole web pages scrapped off the “target” content (like with the SOAP approach) the architecture is way simpler than the SOAP one and it leverages the standards (and protocols) of modern web   And what does this last argument even mean? It means that heavy SOA (Service Oriented Architecture) is shifting to lightweight WOA (Web Oriented Architecture), since these days apps need to tap into a web that's “packed” with REST resources. And so, instead of leveraging a few point SOA services, data gets collected and displayed via millions of granular REST resources. Developing arbitrary apps, that interact over the network, has become conveniently easier. Complex things (systems) get simplified!   When not to Use REST Web Services? There are — as I've just pointed out — use cases when the REST approach is the perfectly suitable one: business-to-consumer apps. But there also are specific cases when RESTful web services don't work so well: B2B apps! Take this practical example here: A bookstore might find it a bit more challenging to make a volume purchase from an online vendor as compared to a regular customer.  It would need to “juggle with” several apps to track shipment, sales, determine re-orders etc. And where do you add that one app might need to be re-entered into other apps, turning the entire process into an overly complex, hard-to-manage one.   The END!  Have I managed to answer your “Why Use RESTful web services?” question or not quite? Or just partially?  Do be honest and, if it's the case, share your other REST inquiries and dilemmas with me! Or point out those use case examples or explanations presented here that you'd like me to shed some more light on. ... Read more
RADU SIMILEANU / Feb 23'2018
Magento Enterprise vs Magento Community: Which One's Best Suited to Your Needs?
So you've made up your mind: it's Magento “fuel” that will be powering your e-commerce website. And now you're facing challenge no. 2: Magento Enterprise vs Magento Community!  Which one of the 2 Magento platform's editions is right for you? What are the key differences after all? Which one's best suited to your current feature needs? And how about your daring goals and growth plans? Which one's scalable enough to accommodate your expansion plans? The quickest/easiest/surest method to “find your match”: confronting your current requirements with each one of the 2 Magento editions' sets of features and functionalities. Note: the method is the same if you're having a Magento vs Drupal Commerce "dilemma" instead, for instance. Then draw the line and just do the math! So, without further ado, let's dig up the:   Magento Enterprise features  Magento Community features  And draw the profile of the “ideal” online store for each one of the 2 Magento editions   1. Is Magento Free? Price Tag vs Value With or without a price tag on. This is the most rudimentary “Magento Enterprise vs Magento Community” comparison that one could make.The first one does come at a price, while the open source version is free to download off the internet and, implicitly, free to use. And now the question that arises is: does the price tag come with added value, as well? Without question! The Magento Commerce edition —  merging, since June 2017, the Enterprise and the Magento Cloud Edition —  comes not with 1, but with 2 price tags on. Along with a heavy load of enterprise-level features and high-end functionalities. And it's your own needs and goals that will tell you whether... it's worth it. Whether a free variant, with basic online selling capabilities or a bulky feature set, with a heftier price tag on, suits you best.   2. Top Magento Open Source Features  The open-source community edition is Magento's downloadable version. And, as you can expect, it provides much of the same functionality, same basic performance and shares the core features with its enterprise counterpart. And here are some of these core features that you can power your e-commerce business plans with and get your functional online store up and running in no time:   modern tech stack regular updates automated code merge payment integrations scalability automated testing flexibility (install the extensions of your choice to ramp up your site's functionality) responsive layout fast product import integrated video & marketing tools integration customizable & mobile-compatible admin dashboard guest checkout registered customers   A word of caution: Determine your site's specific goals and needs right from its planning phases.This because implementing specific functionalities from your “wishlist” might require you to install additional plugins and to craft some custom code.     3. Does Your e-Commerce Business Fit the CE Client Profile? It does if your answer is “Yes” to most of the following questions:   Is it a small-scale e-commerce project that you're starting? Are you planning to keep extension/plugins implementation to a minimum; can you already predict that there will be no need for custom modules in the future? … no need for 3rd party design and web development teams to handle your not so complex site project? Are you looking for an e-commerce platform that should provide you with the basic features needed for getting your store up and running? On a shoestring budget? No plans to grow from a small e-commerce site into an enterprise online store? Or to enter new markets? Is it a versatile platform that you're looking for? One leveraging open source for delivering you a significant load of basic plugins and templates to custom-tune your store with? … and to deliver rich experiences to your customers with?   In short: Magento's open source community edition (CE) is built, from the ground up, with the basic needs of small e-commerce business owners in mind. It's a turnkey solution for small sites. Note: having just a few products doesn't necessarily mean that your site's needs are basic. Therefore, this is no indicator that you should opt for Magento Open Source.   4. Magento Enterprise vs Magento Community: Do You Have Any Expansion Plans? Just think these growth plans through and the sooner the better:   Would you like to enter new markets at some point in the future? Would you like to ramp up and customize your site's current functionality at some point? How much do you want it to grow? Is scalability a critical feature for you?   Do set up your e-commerce goals at this phase of the project! For once you've got your site running on Magento Community (or Open Source), switching to Magento commerce will be more challenging than you expect:   the two editions' code bases are different you'll need to give your website a full redesign the Magento Open Source templates that you will have installed won't work in Magento Commerce   So, take some time to think about the future, your e-Commerce site's future... Since “upgrading” it, later on, to Magento Enterprise, comes with inconveniences and compromises that you'll have to make (e.g. losing some of your team's hard work).   5. Top Magento Enterprise Features  Magento Commerce — the 2-in-1 Enterprise & Cloud edition of the platform — provides you with enterprise-level features right out of the box.  Along with the price tag comes the added value transposed into a set of online selling capabilities that you don't get with its open source counterpart. So, do consider this when you're having a Magento Enterprise vs Magento Community dilemma. Capabilities geared at meeting your enterprise online store's complex demands from an e-Commerce platform. And here are the enterprise edition's top features:   PCI compliance MAP pricing cloud hosting 24/7 technical Magento support, including a dedicated account manager  RMAs visual merchandiser: drag & drop UI and sorting rules for easily organizing your product category pages by variables of your choice (best/newest products, by color etc.) segmentation & targeted promotion features: personalize your customers' shopping experiences full-page caching improved UX: features such as wish lists and gift registry advanced marketing features: it provides you with reward points that you can use for setting up your own customer loyalty programs better performance: expect better page loading times as compared to Magento Open Souce geo-targeting B2B features: create custom catalogs and multiple payment options, set up multiple buyers, create several company accounts etc. content staging enhanced security out-of-the-box: PA-DSS payment bridge, credit card tokenization... separate databases for Product data, Checkout, Order Management: a major performance boost improved tax calculation functionality   In short: Magento Commerce offers you more out-of-the-box functionality as compared to Magento Community, where you'd need to engage in custom coding and extension implementation to have these features “injected” into your site)   6. Go With Magento Commerce If... … you plan to launch a large, enterprise-sized online store or a small-scale one, but you're “nurturing” major expansion plans! In this case, the Magento Enterprise vs Magento Community “dilemma” is an easy one: Magento Commerce (now including the enterprise version, as well) is perfect for you!  For your big, “needy” website site, that you expect to:   accept non-standard forms of payments, too (e.g. check or cash in hand) enrich your customers' shopping experiences with functionalities such as gift registries, wishlists, buy gift cards provide you with advanced inventory management and detailed reporting functionalities, with no need to install any extensions (or to write custom code) for this   … definitely needs a more robust, premium-grade features-packed platform. And Magento Commerce is the one.    The END! So, how about now? Do you find it any easier to decide for one of the 2 Magento editions? Do any of the eCommerce business needs and expectations that I've outlined here match your own? If so, which of the 2 feature sets  —  Magento Enterprise's and Magento Community's — suits them best?       ... Read more
Serge Karpyuk / Feb 22'2018
Which Is The Open Source Document Management System That Best Meets Your Needs?
The future belongs to those that not only store their heavy load of documents in a conventionally digitized form, but also “maneuver” it with utmost efficiency: have instant access to it, track it, retrieve it, organize it. How? By leveraging the perfectly suited open source document management system! Speaking of which, I'm sure you've already got your “feature wishlist” ready:   it should be easy to learn and to use  it should provide you with version control … with cloud access functionality … with document workflow … with document tagging it should come be equipped with an intuitive, user-friendly interface it should be free   But since it's open source document management software that I'll introduce you to in this post here, feel free to take this last “wish” off your list! OK, so this is how the ideal, the one size-fits-all-contexts DMS looks like. But which one's the best for your own business? The one that best meets your specific business needs'? Your organization's unique requirements? For narrowing down your choices you should submit yourself to this quick questionnaire:   What type of documents will you be storing though your future DMS? Where will you/your team need to access them? In a single office, across an entire infrastructure of offices scattered around the globe, on mobile devices? Is it a plug & play, a full-featured custom solution that you need or just the software to meet your needs? Which (your needs) are the “standard” ones, fitting into a particular market. What is your budget?   And while you're still pondering on some of your answers, let me narrow down your choices even more. To a list of 6 document management systems worth your attention:   1. Alfresco, On Top of The List of Any Organization Looking for The Right DMS Geared, from the ground up, to meet the particular requirements of those enterprises having critical documents to store and manage. Therefore, the best answer to your “What Is Alfresco?” question would have to be: "A robust enterprise open source document management system, fueled on open source, powerful enough to automate document-intensive processes within an organization" And here are some of its most “tempting” features:   its complex user role system ensures effective collaboration across large teams/departments robust content repository freedom of customization: feel free to tailor custom workflows and content models to perfectly suit your specific needs its collaboration web interface is geared at boosting team productivity public source code: it leverages core open standards access to a full set of add-ons and community-maintained extensions that you get to extend your DMS's functionality with it seamlessly accommodates any productivity app \that you may want to integrate later on: Google Docs, Microsoft Office etc. Alfresco mobile apps (for Android andiOS)   Should I also point out that NASA and the European Union, themselves, capitalize on Alfresco's:   open standards unparalleled robustness in handling massive amounts of content convenient extensibility unmatched freedom of customization that it “spoils” its users with?   2. LogicalDOC Takes Open Source to a New Level An open source document management system that comes in two flavors:   Professional Community    A highly versatile one, that can be used in any web browser, perfectly “equipped” to:   handle a significant load of documents boost the team's productivity while enhancing team collaboration, as well   Some of LogicalDoc's top features are:   quick & easy installation and intuitive use  multilingual full-text indexing task manager & events log version control & document searching local file system reporting & statistics task manager & events log Web Services (SOAP & RESTful) import from ZIP archives   And the list is literally an endless one! Do consider this feature-loaded, free open source document management software when looking for the right DMS to meet your requirements.   3. Seed DMS, A Powerful Open Source Document Management System If for you “the best document management system” means “the most powerful one”, then you might want to take the Seed DMS for a test drive. It's mature enough, so it's already built a strong reputation around it, and it's enterprise-ready. Built to store and to share huge loads of documents. And now, here are its other strong points worth your full attention:   real-time collaboration version control  users & groups management HTML documents editing built-in metadata support (author, description, keywords) document review & approval workflow full-text search functionality for creating online presentations  multi-level content directory, which supports +32000 documents    Should I go on? For, the deeper I delve into the pile of Seed DMS features, the more I find. Or even better: how about you give this open source document management system a chance and see whether these features do meet your organization's particular needs.   4. Feng Office: More Than “Just” a DMS  Why “more”? Because you get so much more than just the “standard” document management and team productivity-enhancing features.  And these additional, beyond the “conventional” functionalities are:   Task management Time tracking Workspace management Knowledge management   Its set of features also include:   automatic alerts & reminders notes calendar timesheet wiki & forum support reports & tags workflow processes task templates   5. OpenKM, A Conveniently Extensible DMS And extensibility, coming from its OpenKM plug-in architecture, is not its only “superpower”. Versatility comes right after, since it practically supports:   all web browsers all major DBMS databases all common file types (OpenOffice, PDF, Office, XML, HTML, JPEG etc.)   Moreover, it empowers teams to set their own rules (logic) for automating the documentation process. For example, imagine that you'll need to set up a rule specifically for moving a particular document to a new destination. You can do that with OpenKM! And now, the (almost) full list of features that this open source document management system has been supercharged with:   workflow OpenMeetings integration document encryption/decryption functionality automatic key extraction antivirus integration web services API OCR integration HTML editor a functionality to create new documents leveraging pre-built templates and forms Dropbox integration mobile interface & Google apps synchronization metadata navigator (along with categories, thesaurus, keyword...)   6. Kimios, The Best Alternative to the Heavy Document Management Software If it's an alternative to the robust, heavy “document managing machines” that you're looking for, lightweight Kimios makes the perfect fit for your needs. And it's not just its lightness that convinced us to add it to this list of document management systems, but its entirely service-oriented architecture, too (among others). This means that it follows the client-server model: Web client, Kimios for Office, Kimios Explorer and all the other supported third-parties are connected to the main Kimios server. To its central server, “in change” with exposing the web service layer covering Kimio's features. Speaking of which (this DMS's features):   repository customization using metadata customizable search engine document-centered functionalities: create, delete, update check-in-/out feature version control  user rights management bookmarks documents (along with creating bookmarks and advanced requests functionalities)   And it goes on and on... and on. Note: Kimios does integrate with Microsoft and Windows Desktop environment, but only under commercial license! The END! These are the top 6 open source document management systems that you should consider selecting the right one for you from. And this no matter how your own list of feature needs& specific requirements might look like.  ... Read more
Serge Karpyuk / Feb 17'2018