Talking Drupal: Talking Drupal #381 – A Modular Web with Sam Bhagwat

This is episode #381 A Modular Web with Sam Bhagwat.

For show notes visit: www.talkingDrupal.com/381

Topics

  • Gatsby
  • Founding Gatsby
  • Modular: The Web’s New Architecture
  • When did you decide to write the book
  • Key tech changes over time
  • What is the Modular Web
  • Successful architecture
  • Is it similar to serverless
  • Challenges
  • Drupal focused companies and modularity
  • Advice on transitioning
  • Drupal
  • 2023 and Gatsby
  • Staying competitive in JS
  • Kindle Book

Resources

Guests Hosts

Nic Laflin – www.nLighteneddevelopment.com @nicxvan John Picozzi – www.epam.com @johnpicozzi Stephen Cross – www.StephenCross.com @stephencross

MOTW Correspondent

Martin Anderson-Clutz – @mandclu Decoupled Interface Translations Allows a headless application to use Drupal-managed interface translations.

health @ Savannah: GNU Health Hospital Management patchset 4.0.5 released

Dear community

GNUHealth 4.0.5 patchset has been released !

Priority: High

Table of Contents

  • About GNU Health Patchsets
  • Updating your system with the GNU Health control Center
  • Installation notes
  • List of other issues related to this patchset

About GNU Health Patchsets

We provide “patchsets” to stable releases. Patchsets allow applying bug fixes and updates on production systems. Always try to keep your production system up-to-date with the latest patches.

Patches and Patchsets maximize uptime for production systems, and keep your system updated, without the need to do a whole installation.

NOTE: Patchsets are applied on previously installed systems only. For new, fresh installations, download and install the whole tarball (ie, gnuhealth-4.0.5.tar.gz)

Updating your system with the GNU Health control Center

Starting GNU Health 3.x series, you can do automatic updates on the GNU Health HMIS kernel and modules using the GNU Health control center program.

Please refer to the administration manual section ( https://en.wikibooks.org/wiki/GNU_Health/Control_Center )

The GNU Health control center works on standard installations (those done following the installation manual on wikibooks). Don’t use it if you use an alternative method or if your distribution does not follow the GNUHealth packaging guidelines.

Installation Notes

You must apply previous patchsets before installing this patchset. If your patchset level is 4.0.5, then just follow the general instructions. You can find the patchsets at GNU Health main download site at GNU.org (https://ftp.gnu.org/gnu/health/)

In most cases, GNU Health Control center (gnuhealth-control) takes care of applying the patches for you. 

Pre-requisites for upgrade to 4.0.5: None

Now follow the general instructions at

 

After applying the patches, make a full update of your GNU Health database as explained in the documentation.

When running “gnuhealth-control” for the first time, you will see the following message: “Please restart now the update with the new control center” Please do so. Restart the process and the update will continue.

  • Restart the GNU Health server

List of other issues and tasks related to this patchset

  • bug #63558: Fault: ‘NoneType’ object has no attribute ‘name’
  • bug #63557: Missing view architecture for (‘calendar.category’, None, ‘tree’)
  • bug #63533: Model ‘gnuhealth.pol’ is missing a default access
  • bug #63532: health_caldav misses requiremnt vobject in setup.py
  • bug #63517: Fault: ‘webdav’ is not in list
  • bug #62777: The term health prof used for both initiating and signing professional in patient evaluation
  • bug #62634, Missing Spanish Translations

For detailed information about each issue, you can visit :

 https://savannah.gnu.org/bugs/?group=health

About each task, you can visit:

 https://savannah.gnu.org/task/?group=health

For detailed information you can read about Patches and Patchsets

 https://en.wikibooks.org/wiki/GNU_Health/Patches_and_Patchsets

When is a PC not a PC? The PC-98

So the Japanese market had very specific requirements, that PCs could not fulfill in the early DOS days. You couldn’t just replace the character ROM on your PC and make it display Japanese text (IBM did later develop the 5550 and the JX, a derivative of the PCjr, specifically for the Japanese market, and later, they developed the DOS/V variant, which added support for Japanese text to their PS/2 line, using standard VGA hardware, which by now had caught up in terms of resolution). Instead, Japanese companies jumped into the niche of developing business machines for the home market. Most notably NEC. In 1981 they introduced the PC-8800 series, an 8-bit home computer based on a Z80 CPU and BASIC. In 1982, the PC-9800 series followed, a more high-end 16-bit business-oriented personal computer based on an 8086 CPU and MS-DOS. These families of machines became known as PC-88 and PC-98 respectively (Note that the ‘PC’ name here is not a reference to IBM, as NEC had already released the PC-8000 series in 1979). I love these machines.

Kumbh Mela Of Art In Bengaluru

Kumbh Mela Of Art In Bengaluru.

Argus News is Odisha’s fastest-growing news channel having its presence on satellite TV and various web platforms. Watch the latest news updates LIVE on matters related to politics, sports, gadgets, business, entertainment, and more. Argus News is setting new standards for journalism through its differentiated programming, philosophy, and tagline ‘Satyara Sandhana’.

To stay updated on-the-go,

Visit Our Official Website: www.argusnews.in
iOS App: http://bit.ly/ArgusNewsiOSApp
Android App: http://bit.ly/ArgusNewsAndroidApp
Live TV: https://argusnews.in/live-tv/
Facebook: https://www.facebook.com/argusnews.in
YouTube: www.youtube.com/c/TheArgusNewsOdia
Twitter: https://twitter.com/ArgusNews_in
Instagram: https://www.instagram.com/argusnewsin

Argus News Is Available on:
TataPlay channel No – 1780
Airtel TV channel No – 609
Dish TV channel No – 1369
d2h channel No – 1757
SITI Networks – 18
Hathway – 732
GTPL KCBPL – 713
& other Leading Cable Networks please visit https://argusnews.in/channel_number for channel number list

You Can WhatsApp Us Your News On- 8480612900
#ArgusNews #ArgusEnglish #Bengaluru #Art #chitrasanthe

Specbee: How to Integrate Drupal 9 with Bitly for URL Shortening

Specbee: How to Integrate Drupal 9 with Bitly for URL Shortening
How to Integrate Drupal 9 with Bitly for URL Shortening
Admin
09 Jan, 2023

Bit.ly for Drupal provides a rich API that other Drupal modules can use to access Bit.ly functionality. Today’s discussion topic is how we can integrate Bitly with Drupal 9 easily in just a few simple steps.

But first, what are the first three reasons that come to your mind for shortening a URL? Here’s ours–

  • To make more space for content to be posted on micro-blogging sites such as Twitter
  • To mask the original URL 
  • To simply reduce the length of a super-long, ugly URL

Bitly has been our go-to URL-shortening service for a long time, and we love its efficacy and speed. For those of you who haven’t stumbled upon Bitly yet, Bitly is a link management platform that offers products and services on link shortening and more. It allows you to shorten URLs for your websites. 

Specbee: How to Integrate Drupal 9 with Bitly for URL Shortening

Getting Started – Bitly Integration with Drupal 9

Bitly allows for easy integration with your Drupal 9 website. Since there are no stable modules to integrate Bitly in Drupal 9, we will learn about how to call the Bitly API and create forms to integrate it. Here are some steps to get you started with it –

Step 1 – First, you need to create a Bitly account. Go to https://bitly.com/ and create an account. Then you need to login to your Bitly account.

You will then see your Dashboard page.

Bitly Integration with Drupal

 

Step 2 – Next, click on the top-right side of the screen and go to ‘Profile Settings

Profile settings

Go to Registered OAuth Applications -> Register New App -> Get Registration Code. 

It will send you an email to the mail id you used to sign up.
 

Get Registration with bitly

 

Step 3 – Click on Complete Registration. It will take you back to the Bitly website where you have to add the below details:

complete registration

And Save this OAUTH App. Once saved, the ‘CLIENT ID’ and ‘CLIENT SECRET’ keys will be generated as shown below.

OAUTH APP

Step 4 – Next, go to your browser and enter this Url :
https://bitly.com/oauth/authorize?client_id={YOUR_CLIENT_ID}&redirect_uri={YOUR_WEBSITE-URL}
Once you hit this Url, it will redirect to {YOUR_WEBSITE_URL}?code={YOUR_CODE} . Copy this code and paste it somewhere safe so it’s not lost.

Step 5 – Next, you have to use POSTMAN to call the API or you can also use the CURL command. Learn more about how the Postman tool can help you with API development and API testing.

The method will be POST, Url is api-ssl.bitly.com/oauth/access_token and parameters will be client_id, client_secret, code, redirect_uri.

Bilty API Development

When you hit this API, it will return the following –

access_token=TOKEN&login=BITLY_LOGIN&apiKey=BITLY_API_KEY
access_token – The OAuth access token for specified user
login – The end-user’s Bitly username
apiKey – The application key which will be used
This login and apiKey values should be stored and can be integrate with your Drupal modules.

Implementing the Integration

Now let us learn to create a custom form for integrating your Drupal 9 site with Bitly.

bitlyForm.php
config('bitly.shorten_url');
   $form['configuration'] = [
     '#type' => 'fieldset',
     '#title' => $this->t('Configuration'),
   ];
   $form['configuration']['login_name'] = [
     '#type' => 'textfield',
     '#title' => $this->t('Login Name'),
     '#default_value' => $config->get('login_name'),
     '#required' => TRUE,
   ];
   $form['configuration']['app_key'] = [
     '#type' => 'textfield',
     '#title' => $this->t('Application Key'),
     '#default_value' => $config->get('app_key'),
     '#required' => TRUE,
   ];

   return parent::buildForm($form, $form_state);
 }
 /**
  * {@inheritdoc}
  */
 public function submitForm(array &$form, FormStateInterface $form_state) {
   $this->config('bitly.shorten_url')
     ->set('login_name', trim($form_state->getValue('login_name')))
     ->set('app_key', trim($form_state->getValue('app_key')))
     ->save();
   parent::submitForm($form, $form_state);
 }
}

Step 7

Add the Login name and Application Key that you have generated and stored previously.

Now, let’s create a function to integrate your Drupal 9 website with Bitly.

/**

* Generate Shorten Url.

*

* @param string $url

*   The url.

* @param string $login

*   The login name.

* @param string $appKey

*   The api key.

*

* @return string

*   Returns bitly url.

*/

public static function makeBitlyUrl($url, $login, $appKey) {

 // Create the URL.

 $bitly = ‘http://api.bit.ly/shorten?version=2.0.1&longUrl=’. urlencode($url) . '&login=' . $login . '&apiKey=' . $appKey . '&format=xml';

 // Get the url

 // could also use cURL here.

 $response = file_get_contents($bitly);

 // Xml.

 $xml = simplexml_load_string($response);

 return 'https://bit.ly/' . $xml->results->nodeKeyVal->hash;

Let’s now call the makeBitlyUrl function to generate the Bitly Url.

$config = Drupal::config(‘bitly.shorten_url');

$bitlyUrl = (string) makeBitlyUrl('https://www.example.com', $config->get('login_name'), $config->get('app_key'));

You will now get the integrated Bitly Url in the $bitlyUrl variable.

Found this article useful? Here’s a really tiny URL of this article for you to copy, embed, or share:
<!–

<!–

<!–

//–>

//–>

//–>

bit.ly/3CySc1v

Click to copy URL to your clipboard