collaborative editing https://www.tag1consulting.com/ en What's in your open source toolbox? https://www.tag1consulting.com/blog/whats-your-open-source-toolbox <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p>Many of us in open source communities tend to be proponents of not only the primary project we’re working with (like Drupal), we also tend to be pretty big proponents of other types of open source software. These may be projects that benefit us in our day to day work, libraries that we leverage to build on our main project, or software we end up using in our personal lives, for projects that we do strictly for our own purposes. Tag1, being a company based on using open source software, uses a variety of software based on the day to day work of our team, and the needs of our clients. This software ranges from Drupal itself, to the underlying software it uses, to the testing software, and IDEs and plugins we use to help create quality code and content. ## Drupal We all know Drupal is open source, and one of the largest CMS projects out there. It relies on a variety of other open source software as well - MySQL, PHP, Composer, Symfony, and so on. Some parts of Drupal make use of additional libraries that fulfill needs that would otherwise go unmet. ## Load testing No well-trafficked...</p><div class="more-link"><a href="/blog/whats-your-open-source-toolbox" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/lynette-miles" typeof="schema:Person" property="schema:name" datatype="" content="lynette@tag1consulting.com">lynette@tag1co…</span></span> <span>Tue, 08/10/2021 - 11:36</span> Tue, 10 Aug 2021 18:36:22 +0000 lynette@tag1consulting.com 389 at https://www.tag1consulting.com How to Grow, Support, and Fund your Open Source Project - Marijn Haverbeke - Part 1 https://www.tag1consulting.com/blog/talk-marijn-haverbeke-pt-1 <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p>While many open source projects are successful due in part to their large contributor base, not all projects work best that way; other project leaders prefer to keep contributions from others tightly controlled. Depending on the use cases, either method can work well. For CodeMirror and ProseMirror, a tightly controlled code base is part of the culture of the project.</p><div class="more-link"><a href="/blog/talk-marijn-haverbeke-pt-1" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/lynette-miles" typeof="schema:Person" property="schema:name" datatype="" content="lynette@tag1consulting.com">lynette@tag1co…</span></span> <span>Tue, 03/02/2021 - 05:46</span> Tue, 02 Mar 2021 13:46:06 +0000 lynette@tag1consulting.com 310 at https://www.tag1consulting.com Building offline-first applications with Yjs: Offline shared editing in practice and in the wild - part 7 https://www.tag1consulting.com/blog/offline-shared-editing-practice-and-wild-part-7 <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p>Are offline collaborative applications truly feasible in this day and age? After all, consistent connectivity can be quite the luxury when it comes to less-than-ideal environments like Amtrak trains and commercial flights. Luckily, Yjs, the open-source real-time collaboration framework, is here to save the day, in conjunction with emerging web technologies that run the gamut from Service Workers (okay, not that old) to IndexedDB, a browser-based local database that is optimized for offline use cases.</p><div class="more-link"><a href="/blog/offline-shared-editing-practice-and-wild-part-7" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/preston-so" typeof="schema:Person" property="schema:name" datatype="">preston</span></span> <span>Mon, 08/31/2020 - 05:39</span> Mon, 31 Aug 2020 12:39:37 +0000 preston 196 at https://www.tag1consulting.com Building offline-first applications with Yjs: Garbage collection and content revisioning - part 6 https://www.tag1consulting.com/blog/building-offline-first-applications-yjs-garbage-collection-and-content-revisioning-part-6 <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p>You board a flight only to hear the flight crew announce to groans all around that Wi-Fi is unavailable. How will you deliver that document in time that your colleagues were supposed to review later today? Fortunately, with the help of emerging web technologies like Yjs, an open-source real-time collaboration framework, and IndexedDB, a local database that houses offline content, any developer can successfully architect an offline-first architecture that also functions well for peer-to-peer collaboration use cases. With the addition of Service Workers, you can facilitate another layer of caching that ensures not only content persistence but also better performance.</p><div class="more-link"><a href="/blog/building-offline-first-applications-yjs-garbage-collection-and-content-revisioning-part-6" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/preston-so" typeof="schema:Person" property="schema:name" datatype="">preston</span></span> <span>Mon, 08/24/2020 - 05:20</span> Mon, 24 Aug 2020 12:20:50 +0000 preston 195 at https://www.tag1consulting.com Building offline-first applications with Yjs: How to best leverage y-webrtc and garbage collection - part 5 https://www.tag1consulting.com/blog/building-offline-first-applications-yjs-how-best-leverage-y-webrtc-and-garbage-collection-part <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p>Fortunately, with the support of the real-time collaboration framework Yjs and the local database available to browsers known as IndexedDB, you too can implement robust offline-first applications that not only enable peer-to-peer collaborative editing but also represent a wholesale revolution in the ways in which we interact with not only content management systems (CMS) but also web applications at large.</p><div class="more-link"><a href="/blog/building-offline-first-applications-yjs-how-best-leverage-y-webrtc-and-garbage-collection-part" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/preston-so" typeof="schema:Person" property="schema:name" datatype="">preston</span></span> <span>Wed, 08/19/2020 - 05:02</span> Wed, 19 Aug 2020 12:02:01 +0000 preston 194 at https://www.tag1consulting.com Building offline-first applications with Yjs: Conflict resolution with IndexedDB and Yjs - part 4 https://www.tag1consulting.com/blog/building-offline-first-applications-yjs-conflict-resolution-indexeddb-and-yjs-part-4 <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p>For many developers, the concept of offline-enabled applications leads to anxiety and panic. But the pain is over thanks to the multiplicity of benefits provided by the pairing of emerging web technologies like the open-source real-time collaboration framework known as Yjs and the local database technology ideal for offline solutions known as IndexedDB.</p><div class="more-link"><a href="/blog/building-offline-first-applications-yjs-conflict-resolution-indexeddb-and-yjs-part-4" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/preston-so" typeof="schema:Person" property="schema:name" datatype="">preston</span></span> <span>Mon, 08/17/2020 - 05:13</span> Mon, 17 Aug 2020 12:13:29 +0000 preston 192 at https://www.tag1consulting.com Building offline-first applications with Yjs: Offline documents with y-indexeddb and Web Workers - part 3 https://www.tag1consulting.com/blog/offline-documents-y-indexeddb-and-web-workers-part-3 <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p>Slow or intermittent connections are an all-too-common case that many users face when attempting to work with applications. Offline-enabled applications are a particularly challenging use case because they require synchronization and a local understanding of data.</p><div class="more-link"><a href="/blog/offline-documents-y-indexeddb-and-web-workers-part-3" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/preston-so" typeof="schema:Person" property="schema:name" datatype="">preston</span></span> <span>Mon, 08/10/2020 - 06:59</span> Mon, 10 Aug 2020 13:59:40 +0000 preston 191 at https://www.tag1consulting.com Collaborative editing in Gutenberg: The roadmap ahead for collaboration in Gutenberg and how to get involved - part 4 https://www.tag1consulting.com/blog/gutenberg-part-4 <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p>Content collaboration across multiple editors has long been table stakes in content management systems like Drupal and WordPress, but what about real-time, peer-to-peer, bonafide collaboration within the CMS context? There is a reason many of us CMS practitioners choose to use Google Docs for collaboration among editors. However, thanks to the open-source real-time collaboration framework Yjs, collaborative editing in the CMS context is now not only a possibility but also fast becoming a reality in Gutenberg. Tag1 Consulting is working with the Gutenberg team to implement Yjs and enable a shared editing experience, opening the door to exciting prospects beyond simple text-based collaboration.</p><div class="more-link"><a href="/blog/gutenberg-part-4" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/preston-so" typeof="schema:Person" property="schema:name" datatype="">preston</span></span> <span>Tue, 03/24/2020 - 10:04</span> Tue, 24 Mar 2020 17:04:52 +0000 preston 145 at https://www.tag1consulting.com Collaborative editing in Gutenberg: The unique challenges of implementing shared editing - part 3 https://www.tag1consulting.com/blog/gutenberg-part-3 <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p>One of the seemingly intractable difficulties in content management systems is the notion of supporting collaborative editing in a peer-to-peer fashion. Indeed, from an infrastructural standpoint, enabling shared editing in a context where server-side CMSs rule the day can be particularly challenging. All of this may soon change, however, with the combination of Yjs, an open-source real-time collaboration framework, and Gutenberg, the new editor for WordPress. With the potential future outlined by Yjs and collaborative editing in WordPress, we can open the door to other thrilling potentialities such as shared layout building or even collaborative drawing in the CMS context.</p><div class="more-link"><a href="/blog/gutenberg-part-3" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/preston-so" typeof="schema:Person" property="schema:name" datatype="">preston</span></span> <span>Tue, 03/17/2020 - 08:48</span> Tue, 17 Mar 2020 15:48:45 +0000 preston 141 at https://www.tag1consulting.com Challenges of building collaborative editing in Gutenberg - part 2 https://www.tag1consulting.com/blog/gutenberg-part-2 <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p>How realistic is collaborative editing in content management systems? Many ecosystems have tried to enable shared editing through plugins and add-ons, but WordPress is the first to bring support for collaborative editing to content management systems with the goal of offering it out of the box. With the advent of Yjs, an open-source framework for real-time collaboration, the Gutenberg team is working with the help of Tag1 Consulting to enable shared editing natively on WordPress. Though the requirements are numerous, the prospect of collaborative content creation goes well beyond simple text; the possibilities of collaborative layout building or even collaborative drawing illuminate a bright future ahead for CMS feature development.</p><div class="more-link"><a href="/blog/gutenberg-part-2" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/preston-so" typeof="schema:Person" property="schema:name" datatype="">preston</span></span> <span>Tue, 03/10/2020 - 05:30</span> Tue, 10 Mar 2020 12:30:05 +0000 preston 138 at https://www.tag1consulting.com