Feeds
Specbee: How to integrate Auth0 Single Sign-On (SSO) in Drupal
The Drop Times: Christoph Weber to Explore Private LLMs for Technical Documentation at LagoonCon 2024
The Drop Times: A Detailed Review of Droopler 4 with Grzegorz Bartman of Droptica
Volker Krause - KDE Frameworks on Android - Akademy 2019
Targeting Android as a platform is attractive for our applications, both as a intermediate proving ground for Plasma Mobile, and due to the large market share. For new Kirigami-based applications that is a fairly straightforward process thanks to the portability of Qt. There is however also lots of valuable code predating mobile UI considerations, and functional gaps in Qt, which is where KDE Frameworks can help. What do we have already, what still needs to be done, and how can we do it?
Katarina Behrens - Look Its LibreOffice on KDE Plasma Software - Akademy 2019
This talk introduces LibreOffice's new Qt5-based KDE frontend because at the end of the day, the best free and open-source office suite deservers to be well-integrated into the best free and open-source desktop environment 😃
Dan Leinir Turthra Jensen - Get Hot New Stuff Quick(ly) - Akademy 2019
Get an introduction to the Qt Quick based KNewStuff components, the context of why they exist, and find out how you can use them in your own applications.
KDE Plasma 6.0.4, Bugfix Release for April
Tuesday, 16 April 2024. Today KDE releases a bugfix update to KDE Plasma 6, versioned 6.0.4.
This release adds three weeks' worth of new translations and fixes from KDE's contributors. The bugfixes are typically small but important and include:
- Foldermodel: Export urls to the Desktop Portal on drag and copy. Commit.
- System Monitor: Fix the column configuration dialog being too small on the overview page. Commit. Fixes bug #482008
- Applets/battery: Check actual battery for charge state workaround. Commit.
Trung Thanh Dinh - AI Face Recognition with OpenCV in digiKam - Akademy 2019
Currently, we are observing an incredible development in technologies, especially in Artificial Intelligence field. Indeed, by learning from massive data, AI is particularly good at some tasks that normal algorithms cannot achieve as good level of performance, such as: image classification, speech recognition, object detection, tendency prediction, feature extraction, etc. Moreover, new AI algorithms with the emergence of neural networks and deep learning even makes AI models more robust, so that they can now give better prediction without any limitation in improving themselves.
Being aware of those assets, digiKam team has considered using deep learning in digiKam. Thus, this presentation aims to introduce a new implementation of facial recognition in digiKam, based on deep learning models and OpenCV DNN module, so as to improve the performance of facial recognition module.
Ivana Isadora Devcic - Why Your Community Needs a Developer Portal - Akademy 2019
How can a community like KDE benefit from a developer portal...and what is a developer portal, anyway? This talk aims to answer those questions, and offers practical advice for building a developer portal. The insights from this session can serve as guidance and inspiration to all contributors who want to make sure their community keeps growing and thriving.
The Drop Times: Embracing Technology with Drupal
In 2024, technology has reached new heights, impacting our lives like never before. With AI becoming more common and exciting updates on the horizon, technology is shaping our world significantly.
Technology continues to redefine the way we live, work, and connect. New features, updates, and innovations emerge daily, shaping our world remarkably. At the heart of this transformation lies Drupal, the dynamic content management system that empowers individuals and businesses to navigate the digital realm easily and confidently. Drupal opens limitless possibilities in website development, offering a platform where creativity knows no bounds.
Drupal streamlines the process of creating and managing websites, putting the power of customization and control at our fingertips. With its intuitive interface and robust features, Drupal allows users to craft online experiences that are not just functional but truly exceptional.
Technology is advancing rapidly, and Drupal is here to make it accessible and beneficial for everyone. With its user-friendly features and adaptability, Drupal simplifies website creation and opens doors to endless possibilities.
Let's review the latest news covered by The Drop Times (TDT) last week.
In an Interview with Alka Elizabeth, sub-editor, TDT, Irina Zaks, Co-Founder and CTO at Fibonacci Web Studio, discusses her transition from a background in physics to web development, emphasizing the importance of clear, simple solutions in complex projects. She highlights the Fibonacci sequence's role in her design philosophy, advocating for harmony and simplicity in web development. Zaks also reflects on the unique challenges of academic websites and her efforts to promote open-source software within academia, particularly through her work at the Stanford Open Source Lab. The interview is a precursor to Stanford Web Camp.
Head to the concluding part of our series, "Drupal Page Builders—Part 4: Distributions," crafted by André Angelantoni, Senior Drupal Architect, HeroDevs. The article discusses the practicalities and considerations of using Drupal distributions for page building. It emphasizes that while distributions can simplify the setup process, especially for non-technical users, they often involve complex maintenance and may slow down upgrades due to dependency on the distribution maintainers. The piece advises conducting a proof-of-concept for the most complex page layouts to ensure the chosen solution can handle the requirements, highlighting that many teams opt for minimal module use to maintain flexibility and control.
Explore the articles curated by Kazima Abbas regarding the featured speakers who presented their sessions at EvolveDrupal Atlanta. The first part features Michael Herchel, Mary Blabaum, Allison Vorthmann, Andy Waldrop, and Jesse Dyck. Topics range from an Inclusive Design Approach to Drupal 7's End of Life on website security and from leveraging Drupal for scalable software products to insights on migrating to Drupal 10. The second part shifts to topics including The Fourth Decade of Website Deployments, the Crossroads of Website Evolution, and the updates from WCAG 2.1 to 2.2. John Cloys, Penny Kronz, and Steve Persch are featured in this segment.
The upcoming Drupal Developer Days in Burgas, Bulgaria, from June 26-28, 2024, at Burgas Free University, has announced Suzanne Dergacheva and Frederik W. as keynote speakers. DrupalCamp Iberia 2024 has officially announced its schedule for the upcoming gathering on May 10 and 11 at PACT in Évora, marking a significant event in the Drupal community's annual calendar. The Network of European Drupal Associations (NEDA) has scheduled a meeting on April 24, 2024, led by Esmeralda Tijhoff. This meeting aims to foster connections among Drupal Associations globally, sharing experiences and discussing support strategies.
DrupalCon Portland 2024 extends a special offer to students, recent graduates, and individuals with Drupal Training Certification obtained since 2022, providing an opportunity to purchase tickets for the event at a discounted rate of $50. The DropTimes has been announced as the official media partner for The LagoonCon Portland 2024. DrupalSouth has made their talks from DrupalSouth 2024 accessible online via their YouTube channel! Now, you can catch up on all the insightful discussions and presentations from the comfort of your home. A particularly engaging story narrated at the event is the talk by Dallas Ramsden, a story of human resilience. The Eclipse Foundation has initiated a collaborative effort to establish common cybersecurity standards in response to the upcoming European Union's Cyber Resilience Act. This initiative involves multiple open-source organizations and aims to harmonize secure software development practices across the industry, addressing both regulatory requirements and the broader challenge of securing open-source software. The Greek Drupal Community celebrated a resurgence with the Greece Spring Sprint 2024, where experienced developers across Athens, Thessaloniki, and Patras collaborated to address numerous issues. We have received pictures via Georgios Andreadis of the event, take a look here.
Jesus Manuel Olivas, Co-Founder and CEO at Octahedroid, announced the initial release of two significant Drupal modules—Visual Editor and Decoupled Preview Iframe. A recent update from Drupal.org saw Gábor Hojtsy outlining the forthcoming release plans for Drupal 11, noting significant dependency updates and two potential release windows later this year. Obviously, this has created discussions in the community. Paul Johnson, a long-time participant and photographer at Drupal events, has announced an initiative by the Promote Drupal team to create the first official Promote Drupal Image Library. The team calls for submissions from photographers within the Drupal community who are willing to contribute their work under a Creative Commons license.
While there are undoubtedly more stories to share, our current constraints may necessitate a temporary pause in our coverage.
To get timely updates, follow us on LinkedIn, Twitter and Facebook. Also, join us on Drupal Slack at #thedroptimes.
Thank you,
Sincerely
Kazima Abbas
Sub-editor, The Drop Times
Ned Batchelder: Try it: function/class coverage report
I’ve added experimental function and class coverage reports to coverage.py. I’d like feedback about whether they behave the way you want them to.
I haven’t made a PyPI release. To try the new reports, install coverage from GitHub. Be sure to include the hash:
$ python3 -m pip install git+https://github.com/nedbat/coveragepy@f10c455b7c8fd26352de#egg=coverage==0.0Then run coverage and make an HTML report as you usually do. You should have two new pages, not linked from the index page (yet). “htmlcov/function_index.html” is the function coverage report, and the classes are in “htmlcov/class_index.html”.
I had to decide how to categorize nested functions and classes. Inner functions are not counted as part of their outer functions. Classes consist of the executable lines in their methods, but not lines outside of methods, because those lines run on import. Each file has an entry in the function report for all of the lines outside of any function, called “(no function)”. The class report has “(no class)” entries for lines outside of any classes.
The result should be that every line is part of one function, or the “(no function)” entry, and every line is part of one class, or the “(no class)” entry. This is what made sense to me, but maybe there’s a compelling reason to do it differently.
The reports have a sortable column for the file name, and a sortable column for the function or class. Where functions or classes are nested, the name is a dotted sequence, but is sorted by only the last component. Just like the original file listing page, the new pages can be filtered to focus on areas of interest.
You can look at some sample reports:
It would be helpful if you could give me feedback on the original issue about some questions:
- Is it useful to have “(no function)” and “(no class)” entries or is it just distracting pedantry? With the entries, the total is the same as the file report, but they don’t seem useful by themselves.
- Does the handling of nested functions and classes make sense?
- Should these reports be optional (requested with a switch) or always produced?
- Is it reasonable to produce one page with every function? How large does a project have to get before that’s not feasible or useful?
- And most importantly: do these reports help you understand how to improve your code?
This is only in the HTML report for now, but we can do more in the future. Other ideas about improvements are of course welcome. Thanks!
Talking Drupal: Talking Drupal #446 - Test Driven Development
Today we are talking about Test Driven Development, Why it’s important, and How it improves development with guest Alexey Korepov. We’ll also cover Test Helpers as our module of the week.
For show notes visit: www.talkingDrupal.com/446
Topics- What does the term Test Driven Development (TDD) mean
- Does Drupal make use of TDD
- What makes TDD different from other methods of Development
- Do you have to change your way of thinking
- What are some good resources to learn TDD
- Do you have any pointers for teams looking to get started
- Are certain kinds of projects better suited to TDD
- How have dev teams adapted to TDD
- Any advice on environment setup
- Any special tools
- Open telemetry
- QA Engineer
- Kent Beck Test Driven Development: By Example
- Needs tests tag
- Local unit tests
- PHPUnit
Alexey Korepov - korepov.pro Murz
HostsNic Laflin - nLighteneddevelopment.com nicxvan Martin Anderson-Clutz - mandclu Matt Glaman - mglaman.dev mglaman
MOTW CorrespondentMartin Anderson-Clutz - mandclu
- Brief description:
- Have you ever wanted an API that could dramatically simplify the process of writing Drupal unit tests? There’s a module for that.
- Module name/project name:
- Brief history
- How old: created in Sep 2022 by today’s guest, Alexey Korepov
- Versions available: 1.3.0 compatible with versions of Drupal 9.4 or newer, right up to Drupal 11
- Maintainership
- Actively maintained, latest release less than 3 months ago
- Security coverage
- Test coverage, would be ironic if it didn’t
- API Documentation is available, linked from the project page
- Number of open issues: 2 open issues, which are actually feature requests
- Usage stats:
- 5 sites officially, but modules or sites can leverage Test Helpers without enabling it, and this usage is recommended, so the number is actually higher
- Module features and usage
- Provides a new container that automated tests can leverage to perform common tasks with much less code.
- For example, you can create a user or a node with a single line of code
- You can also mock more complex operations like an entityQuery or loadMultiple call, again with a single line of code
- Traditionally, writing unit tests is more complicated because by design they run without fully bootstrapping Drupal
- That means that your test needs to mock functions or services in the code you’re testing which can result in units tests being much longer than the code they’re testing
- Test Helpers also allows your tests to leverage existing mocks and stubs for popular services
- The project page also links to the recording and slides for a talk Alexey gave about Test Helpers at DrupalCon Pittsburgh last year, if you want to do a deeper dive
Okular gets interesting new features
Next week KDE will release Applications 19.04, overhauling most of the suite of programs usually packaged with KDE's Plasma desktop. This new version makes KDE's applications more user-friendly, consistent with each other and smoother across the board.
Okular gets, among other improvements, support to show and verify digital signatures on PDFs. This feature is essential to use KDE's document viewer for business or if you need to exchange documents in any official capacity... like when negotiating an international peace treaty. Digital signatures allow you to establish the authenticity of a document, whether it has been tampered with or not, and confirm where it has come from and who sent it.
Attributions:
Ye oldie public domain footage and French Reel Victor Military Band Burchenal music available from:
https://archive.org
"Sun Lotion" by Steadman CC By-NC-ND available from:
http://freemusicarchive.org/music/Steadman/The_Bitter_End/08_sun_lotion
(along with many more banging tunes)
Peace treaty footage available from:
Clintonlibrary 42: https://www.youtube.com/channel/UCMkYd9teJEBlCOwDan6qPpg
One News New Zealand: https://www.youtube.com/channel/UCRdbeElPWvSumxERqoR7ZUA
European Commission: https://www.youtube.com/channel/UCMPaviJxybo1RTdzvYcU91A
Many thanks to the content creators that make their work available for free and under generous free licenses. Without your generosity, making videos like this one would not be possible.
The Drop Times: Customer Benefits from Pantheon—Lytics Partnership Explained
By integrating Lytics' Personalization Engine, companies can deploy tailored digital content strategies within 30 days—significantly faster than the traditional months-long process. This partnership simplifies the personalization process and emphasizes using first-party data, aligning with privacy standards, and moving away from reliance on third-party cookies. Embrace this new digital marketing era with Pantheon and Lytics, where advanced technology meets user-centric privacy.
Open Source AI Definition – Weekly update April 15
Having just exited a very busy week here are the two major milestones to know about.
Definition v.0.0.7 is out!- Access the definition here and the discussion of it here
- The changelog:
- Incorporating the comments to draft v.0.0.6 and results of the working group analysis
- Removed reference to “the public” in the four freedoms, left the object (users) implied
- Removed reference to ML systems following the text “Precondition to exercise these freedoms is to have access to the preferred form to make modifications to the system”
- Separated the ‘checklist’ and made it specific to ML systems, based on the Model Openness Framework
- Described in highly generic terms the conditions to access the model parameters
- A concern was raised regarding the checklist making training data optional, potentially undermining the freedom to modify AI systems. This echoes previous debates we have had and likely will continue to have, regarding access to training data.
- Discussion on the need to clarify licensing terms to ensure compliance with Open Source principles, suggesting a change to “Available under terms that satisfy the Open Source principles”.
- Proposal to consider the Open Source Definition itself as a checklist and cautious approach suggested before dictating specific requirements for legal documents.
- A comment on the definition rather than the forum clarified that there needs to determine whether the freedoms outlined in the Open Source AI Definition should be granted to the deployer or the end user, considering differing access levels and implications for openness
- Four different working groups connected with four different AI systems (Llama-2, Pythia, Bloom and OpenCV) have been reviewing legal document and comparing them to the previous 0.0.6 checklist on the Open Source AI Definition
- The goal was to see how well the documents align with the components as described in the checklist.
- Go here to see the updated checklist
- The changes can be described as follows:
- Added legal framework for model parameters (including weights). The framework proposes that, if copyrightable, model parameters can be shared as code
Added the five (5) data transparency components from v.0.0.6 to the checklist under the category “Documentation,” along with legal frameworks
Andreas Rönnquist: Status update for Allegro packaging in Debian
I have mailed to a Debian bug on allegro4.4 describing my reasoning
regarding the allegro libraries – in short, allegro4.4 is pretty much
dead upstream, and my interest was basically to keep alex4 (which is
cool) in Debian, but since it migrated to non-free, my interest in
allegro4.4 has waned. So, if anybody would like to still see allegro4.4
in Debian, please step up now and help out. Since it is dead upstream,
my reasoning is that it is better to remove it from Debian if no
maintainer who wants to help steps up.
Previously Tobias Hansen has helped out, but now it is 8 (!) years
since his last upload of either package.(Please don’t interpret this as
judgement, I am very happy for the help he has provided and all the
work he has done on the packages).
Allegro5 is another deal – still active upstream, and I have kept it up
to date in Debian, and while I have held the latest upload a short while
because of the time_t transition, it will come sooner or later – There
I am also waiting on a final decision on this bug from upstream. Other than
that allegro 5 is in a very good state, and I will keep maintaining it
as long as I can. But help would of course be appreciated on allegro5
too.
Real Python: Build a Blog Using Django, GraphQL, and Vue
Are you a regular Django user? Do you find yourself wanting to decouple your back end and front end? Do you want to handle data persistence in the API while you display the data in a single-page app (SPA) in the browser using a JavaScript framework like React or Vue?
If you answered yes to any of these questions, then you’re in luck. This tutorial will take you through the process of building a Django blog back end and a Vue front end, using GraphQL to communicate between them.
Projects are an effective way to learn and solidify concepts. This tutorial is structured as a step-by-step project so you can learn in a hands-on way and take breaks as needed.
In this tutorial, you’ll learn how to:
- Translate your Django models into a GraphQL API
- Run the Django server and a Vue application on your computer at the same time
- Administer your blog posts in the Django admin
- Consume a GraphQL API in Vue to show data in the browser
You can download all the source code you’ll use to build your Django blog application by clicking the link below:
Get Your Code: Click here to download the free sample code that you’ll use to build a blog using Django, GraphQL, and Vue.
Demo: A Django Blog Admin, a GraphQL API, and a Vue Front EndBlog applications are a common starter project because they involve create, read, update, and delete (CRUD) operations. In this project, you’ll use the Django admin to do the heavy CRUD lifting and you’ll focus on providing a GraphQL API for your blog data.
You’ll use Vue.js 3 and its composition API for the front end of your blog. Vue lets you create dynamic interfaces pretty smoothly, thanks to its reactive data binding and easy-to-manage components. Plus, since you’re dealing with data from a GraphQL API, you can leverage the Vue Apollo plugin.
Here’s a demonstration of the completed project in action:
Next, you’ll make sure you have all the necessary background information and tools before you dive in and build your blog application.
Project OverviewFor this project, you’ll create a small blogging application with some rudimentary features:
- Authors can write many posts.
- Posts can have many tags and can be either published or unpublished.
You’ll build the back end of this blog in Django, complete with an admin for adding new blog content. Then you’ll expose the content data as a GraphQL API and use Vue to display that data in the browser.
You’ll accomplish this in several high-level steps. At the end of each step, you’ll find a link to the source code for that stage of the project.
If you’re curious about how the source code for each step looks, then you can click the link below:
Get Your Code: Click here to download the free sample code that you’ll use to build a blog using Django, GraphQL, and Vue.
PrerequisitesYou’ll be best equipped for this tutorial if you already have a solid foundation in some web application concepts. You should understand how HTTP requests and responses and APIs work. You can check out Python & APIs: A Winning Combo for Reading Public Data to understand the details of using GraphQL APIs vs REST APIs.
Because you’ll use Django to build the back end for your blog, you’ll want to be familiar with starting a Django project and customizing the Django admin. If you haven’t used Django much before, you might also want to try building another Django-only project first. For a good introduction, check out Get Started with Django Part 1: Build a Portfolio App.
And because you’ll be using Vue on the front end, some experience with JavaScript will also help. If you’ve only used a JavaScript framework like jQuery in the past, the Vue introduction is a good foundation.
Familiarity with JSON is also important because GraphQL queries are JSON-like and return data in JSON format. You can read about Working with JSON Data in Python for an introduction.
Read the full article at https://realpython.com/python-django-blog/ »[ Improve Your Python With 🐍 Python Tricks 💌 – Get a short & sweet Python Trick delivered to your inbox every couple of days. >> Click here to learn more and see examples ]
Kdenlive 24.02.2 released
The second maintenance release of the 24.02 series is out with performance optimizations when moving clips in the timeline and across multiple project bins, packaging improvements to macOS and Windows versions and fixes to copy/paste of effects, rotoscoping, Nvidia encoding among others.
Full changelog
- Fix blurry folder icon with some project profiles. Commit.
- Fix timeline not following playhead. Commit.
- When copy/paste effects from a group, only paste effects for the active clip. Commit. Fixes bug #421667.
- Optimize group move (don’t update clip position twice). Commit.
- Fix nvidia encoding. Commit.
- Multiple improvements for timeline keyboard grab (don’t test each frame on a move, scoll timeline accordingly, don’t lose focus on app switch). Commit.
- Update to last commit: only sync shortcuts if there was a change. Commit.
- Fix: editing toolbar config discards newly set keyboard shortcuts. Commit.
- Increase Qt6 limit for max image size. Commit. See bug #484752.
- Fix: Ensure secondary bins have a title bar when needed and that the dock widgets list is always correctly sorted. Commit.
- Don’t perform bin block twice on main bin. Commit.
- Fix: lag moving clips from one bin to another and unneeded monitor clip reload. Commit.
- Fix crash and color theme broken on Windows when opening a project by double click. Commit.
- Try to fix empty monitor when switching to/from fullscreen on Mac. Commit.
- Fix mem leak on save. Commit.
- Add more locks around xml producer, fix autosave triggered on project open. Commit.
- Mediabrowser: ensure thumbnails are generated after changing the view. Commit.
- Enable video thumbnails in media browser for Win/Mac. Commit.
- Fix: don’t propose existing name for new sequence. Commit. Fixes bug #472753.
- Fix crash in sequence clip thumbnails. Commit. See bug #483836.
- Ensure we never reset the locale while an MLT XML Consumer is running (it caused data corruption). Commit. See bug #483777.
- Add icon data to shared-mime-info. Commit.
- Fix: favorite effects menu not refreshed when a new effect is set as favorite. Commit.
- Fix: Rotoscoping not allowing to add points close to bottom of the screen. Commit.
- Fix: Rotoscoping – allow closing shape with Return key, don’t discard initial shape when drawing it and seeking in timeline. Commit. See bug #484009.
- Fix: cannot translate the “P” for Proxy in timeline. Commit. Fixes bug #471850.
- Fix white background and blank monitor on Windows after going back from fullscreen. Commit. Fixes bug #484081.
- Fix wrong KDEInstallDirs on Windows. Commit.
- Fix recent commit not allowing to open files. Commit.
- Don’t crash opening aa corrupted project file with no tracks. Commit.
- Fix: cannot move compositions properly in timeline with Qt6. Commit. Fixes bug #484062.
- Proxy clip: highlight proxy in file manager when opening the folder. Commit.
The post Kdenlive 24.02.2 released appeared first on Kdenlive.
Real Python: Write Pythonic and Clean Code With namedtuple
In this quiz, you’ll test your understanding of Python’s namedtuple().
By working through this quiz, you’ll revisit how to create namedtuple classes, identify and take advantage of the cool features of namedtuple, use namedtuple instances to write Pythonic code, and decide when to use a namedtuple over a similar data structure.
[ Improve Your Python With 🐍 Python Tricks 💌 – Get a short & sweet Python Trick delivered to your inbox every couple of days. >> Click here to learn more and see examples ]
KDE neon Open Door Chat
We’re a few weeks after the KDE 6 Megarelease and while many people have it working well there were too many problems in KDE neon’s rollout.
We’ll be hosting two Open Door Chats on KDE meet tomorrow (Tue 16 April) where users can talk to the developers to talk about any problems you had.
https://meet.kde.org/b/jon-0yw-xqi-sk6 The access code will be posted on the KDE neon Telegram group and Matrix room or e-mail jr@jriddell.org for it
Chats at 09:00 UTC (10:00 BST, 11:00 CEST) and 19:00 UTC (20:00 BST, 21:00 CEST) Tue 16 April 2024