Category Archives: News

提升博客访问量你用心了吗?

“博客建了一段时间了,可访问量还是那么的要死不活,我也在写博客啊,为什么每天的访问量那么的低,辛勤的劳动为什么却不能得到回报呢!“如果你也在为写博客发出这样的抱怨时,你要考虑做了什么?博客访问量不能上来的原因。

首先,博客上有精华文章吗?
你每天都更新文章,写文章,鸡毛蒜皮的小事你都拿来写,哪当然是可以的了,可是有一点这类的文章对于扎堆的朋友来说有意义,而对于不了解不知道你的访客来说,没什么实用性,访问量上不了也是理所当然的,所以,每天花个把小时写一篇精华文章或者每隔一段时间写一篇有用的精华文章,有看头的博客,访客还是乐于传播的。

其次,博客有做推广吗?
再好的文章也需要拓展人脉圈子,推广就变得尤为重要了,要尽可能的通过多种方式来宣传你的网站,就拿WordPress啦来说吧!每天博主都会到相关的博客上进行互动,与其它博主交流的同时,也把自己的网址www.wordpress.la 推广出去了,交流进而互动,再好的内容如果不推广不让别人知道,那么,好也是没有用的。

最后,博客要有牢骚类的文章
牢骚类的文章,也就是生活中的小事情,这和第一点并不矛盾,现在很多博客就在交换链接的时候,有时候会说纯技术的博客,不予考虑,为什么?因为太技术性的文章,让人很难与博主互动,互动不了的话,那这个博客也就失去原有的链接交换的意义,所以,在写精华文章的同时也要适当的发下小牢骚。

提升博客的访问量,少不了网站的推广,而推广的过程中有需要精华文章做坚强的后盾,大量的精华文章才能吸引更多的访客,而生活类的文章则会让我们的内容更加丰富,也增加了访客直接的互动性,相得益彰,才会更好的提升博客的访问量。
 

分类:新闻资讯

标签:博客写作

SMOK Fresh Mint Nic Salt

SMOK FRESH MINT NIC SALT E-LIQUID

SMOK Fresh Mint is a refreshing blend of soothing spearmint leaves and cooling menthol.
Explore the full range of SMOK Nic Salts, providing up to twenty intense and pure bar-inspired fruit and menthol flavours, such as Blueberry Sour Raspberry and Watermelon Ice.

Specifications

  • Flavours: Spearmint, Menthol
  • Nicotine Type: Nicotine Salt
  • Bottle Size: 10ml
  • Nicotine Strength: 10mg & 20mg
  • VG/PG Ratio: 50/50
  • Vaping Style: MTL
  • Easy Fill Nozzle & Childproof Cap

SMOK Nic Salt e-liquids are conveniently packaged in 10ml bottles, providing vapers with a cost-saving and environmentally friendly refillable alternative to disposable, single-use vapes.

With 10mg and 20mg nicotine salt strengths available, you can quickly satisfy your cravings. Using nicotine salts provides a smoother throat hit, enhancing your overall vaping experience.

SMOK is a vaping hardware manufacturer that has been around since 2010. They make products for all types of vapers, from beginners to experts. Their devices are easy to use and come in different types, such as MTL starter kits and sub-ohm kits for those who like to create big clouds.

With a well-balanced 50/50 VG/PG blend, SMOK Nic Salt e-liquids are ideally used with mouth-to-lung vaping with Vape Starter Kits and Pod Vape Kits. 

Are you new and trying out vaping for the first time? You should check out our beginners’ guide, where we simplify vaping to its fundamentals and explain the benefits of switching to your first vape kit.

Keyword: Ceramic Ferrule

Vape UK 50/50 Blackcurrant

VAPE UK 50/50 BLACKCURRANT FREEBASE

Vape UK 50/50 Blackcurrant has a unique yet bold blend of juicy blackcurrents, making for an enticing vaping flavour.
Explore Vape UK’s very own e-liquid range that’s jam-packed in flavour and compatible with your vape kit, including our Nic Salt series.

Specifications

  • Flavours: Blackcurrant
  • Nicotine Type: Freebase
  • Bottle Size: 10ml
  • Nicotine Strength: 3mg, 6mg, 12mg, and 18mg
  • VG/PG Ratio: 50/50
  • Vaping Style: MTL
  • Easy Fill Nozzle
  • Childproof Cap

Vape UK is committed to manufacturing e-liquids with exquisite, natural flavours to help you make that transition from cigarettes to vaping. If you’re a heavy smoker, our 50/50 Freebase is perfect for offering that similar experience to traditional cigarettes with multiple flavour choices such as tobacco, fruity, menthol and dessert.

Freebase nicotine is the purest form of nicotine, offering a stronger and immediate throat hit similar to how cigarettes deliver nicotine. In contrast, nicotine salts are naturally occurring and generally provide a familiar satisfaction while being enjoyed for their smoother throat hit.

At Vape UK, we believe it is essential to offer affordable e-liquids using the finest natural ingredients through high-calibre manufacturing. Our e-liquids are manufactured and sourced in a state-of-the-art facility right here on England’s South Coast.

Since it’s blended in a 50/50 VG/PG ratio, Vape UK’s Nic Salt e-liquids are best used with Vape Starter Kits (Mouth to Lung) and Pod Vape Kits.

Are you new and trying out vaping for the first time? You should check out our beginners’ guide, where we simplify vaping to its fundamentals and explain the benefits of switching to your first vape kit.

Stahl strengthens sustainable packaging coatings offering with Barriertec license agreement

Stahl, the world leader in speciality coatings and treatments for flexible substrates, has signed an exclusive licensing agreement with Barriertec, a provider of sustainable high-performance barrier solutions for paper and cardboard packaging.

The licensing agreement gives Stahl exclusive rights to sell Barriertec’s sustainable barrier coatings product to the packaging market under the Stahl brand. Barriertec’s solution enables the application of sustainable barrier coatings onto paper, providing excellent barrier properties for oxygen, water, oil and grease to packaging and supporting the recycling and reuse of paper fibers in new packaging solutions. The sustainable barrier coatings offer significant benefits to food packaging manufacturers, in particular, supporting the industry’s transition to fully recyclable paper-based packaging.

Paolo Bavaj, Chief Innovation and Development Officer at Stahl, sais: “Sustainability is a key pillar at Stahl as we embrace new technologies that can help our customers increase the recyclability of their products and manage their environmental footprint.” The agreement with Barriertec is the latest step in Stahl’s strategy to strengthen its packaging coatings offering, with a focus on providing high-quality, sustainable solutions to printing and packaging customers. In March 2023, Stahl expanded its market share in packaging coatings with the acquisition of ICP Industrial Solutions Group (ISG), a leading supplier of high-performance coatings for packaging and labelling applications.

Médecins Sans Frontières – Helping them fulfill their mission

In 2021, Redox established a philanthropic relationship with Médecins Sans Frontières (MSF), also known as Doctors Without Borders, to support their urgent work worldwide. Our support allows Médecins Sans Frontières teams to react to emergencies and give high-quality care to those who need it most. 

Who are Médecins Sans Frontières, and what do they do?

In 1971, in the aftermath of the Biafran famine of the Nigerian Civil War, a small group of French doctors and journalists sought to expand access to medical care across national boundaries irrespective of race, religion, creed or political affiliation. 

To that end, the organisation emphasises “independence and impartiality” and explicitly precludes political, economic, or religious factors in its decision-making. For these reasons, it limits the funding received from governments or intergovernmental organisations. These principles have allowed MSF to speak freely concerning acts of war, corruption, or other hindrances to medical care or human well-being.

MSF exist to save lives by providing medical aid where it is needed most – in armed conflicts, epidemics, famines and natural disasters. These situations require a rapid response with specialised medical and logistical help. 

But, they also run longer-term projects, tackling health crises and supporting people with the greatest need. 

They currently have projects running in over 70 countries.

They are an independent, self-governed, non-profit organisation committed to addressing people’s suffering and providing medical care to help people survive catastrophic situations where communities and health structures may be overwhelmed. 

Médecins Sans Frontières offers assistance based on need and irrespective of race, religion, gender or political affiliation, guided by medical ethics and the humanitarian principles of independence, neutrality and impartiality.

How can you help?

Your support is crucial to their efforts to provide medical aid. If you’re able, we’d love it if you could contribute to helping them fulfil their mission and to save lives by providing medical aid where it is needed most.

There are a multitude of ways to assist, or you could simply click here to donate now!

 

David Luiz out for 4 weeks

Speaking to Le Parisien, Brazilian defender David Luiz’s agent has confirmed that his client will be out of normal training for at least 4 weeks following an injury that he picked up on international duty.

The player recently quit the Brazil squad after a knock to the knee in a challenge with Eduardo Vargas in a match against Chile.

Click Here: f1 t shirt,mens f1 jacket

How Inscopix is Developing a Revolutionary Microscope System

Time to read: 5 min

In this Hardware Spotlight, we’re learning a lot about neurons and photons from Sam Malanowski, Product Engineer at Inscopix. Inscopix makes a miniaturized microscope system that allows for researchers to view large-scale neural circuit dynamics in freely behaving rodents. 

Sam shares with us his experience working as an engineer amongst a majority group of PhD researchers, how Inscopix is aligned with President Obama’s BRAIN initiative, and how developments in the consumer tech industry are helping to advance life sciences.

Can you tell us a bit about what Inscopix does?

As a company, Inscopix is aimed at advancing the entire field of neuroscience by providing end-to-end solutions of hardware, data analysis software, and scientific support to address entirely new scientific questions. The project was originally a PhD thesis by our two founding team members, Drs. Eric Cocker and Kunal Ghosh, in the lab of Professor Mark Schnitzer at Stanford – they graduated and started the company in 2011. It started off with the goal of imaging a large number of neurons concurrently on a freely behaving animal and we’ve since developed a remarkably small imaging system that can be attached to a mouse and allow it to go about its normal behavior. In the past, this type of imaging could only be done with very large benchtop microscope systems.

What is the significance of your microscope system as compared with the larger benchtop systems?

When the rodent is able to behave freely, scientists are able to address entirely new questions about how neural circuit activity patterns are correlated with particular behaviors. Correlating the dynamics of large populations of neurons to natural animal behaviors is a concept neuroscientists have dreamed of for years. By enabling neuroscientists to perform these types of experiments, we can get at the underlying neural circuit patterns that are associated with specific behaviors and neurological diseases.

President Obama recently announced the BRAIN initiative to help map the brain as part of the discovery of neurological disease treatments. How does Inscopix fit into this effort?

There’s still a lot to be done in mapping the brain and when it comes to neuroscience research, theres a huge unmet need for new technologies to help address those questions. We’re providing solutions that allow researchers to gather the data they need to start understanding the activity of the 100 billion neurons that comprise our brains. With the technology we have today, scientists are already making huge advances in understanding how neural circuit patterns go awry in animal models of various neurological disorders. Inscopix’s goal is to stay at the forefront of this rapidly-evolving neuroscience research tool market and continue providing solutions that enable researchers to address entirely new scientific questions.

What is it like to work as an Engineer amongst a large team of PhD researchers?

This is certainly one of the most impressive groups of people I’ve ever had a chance to work with. It feels like we are as much a research lab as we are a hardware startup. It’s really a unique atmosphere and the common goal isn’t just a product but also knowledge.

What is the biggest challenge you’ve faced from the ME side of things?

As a Mechanical Engineer at a startup, you quickly realize you’re not just a Mechanical Engineer anymore. You’re doing it all. For example, last week I had to learn how to use a very expensive oscilloscope to observe high speed data signals and some weeks I do more Python programming than Solidworks.

It’s great that I get to put my hands on all sorts of different things and there’s certainly no shortage of work to be done. When we’re trying to fix issues with our build while simultaneously trying to fix problems with suppliers, add functionality for the customer, tighten up the specs, document everything, and bring on new employees… it’s a whirlwind!

Is your manufacturing outsourced or done in-house?

We outsource the machining and electronics and then do all the final assembly in-house. It takes a lot of care to keep things clean. We’re counting on every photon we can get so we make sure to take care of all the fine detailed work ourselves. Coming from some other products I’ve worked with to here where photons and microns are what matter, it’s thinking on a different scale…literally.

How do you go about prototyping such an intricate and fragile product?

A lot of the work I have Fictiv doing in terms of rapid prototyping is for fixturing and tooling. You guys have made tools, for example, to handle our really tiny lenses and tools to hold our microscope and other components in different ways to speed up manufacturing testing.

Since we do our manufacturing assembly on-site we need very specialized tools and fixtures to test the products at a high standard. 3D printing is really enabling that.

How many iterations have there been to arrive at the current system?

The first iteration was the byproduct of eight years of interdisciplinary research at Stanford, bridging the fields of neuroscience, applied physics, electrical engineering and mechanical engineering. After the initial technology development at Stanford, the process to arrive at the current product was all about turning a lab prototype into a polished, reliable system that neuroscientists around the world can use for their studies. Much of this work was reliant on the available components – getting LED’s and custom optics that were small enough and a camera sensor with a high enough resolution, for example. Not an easy task.

Do you think the consumer tech industry is helping to reduce the cost and size of some of those components?

Definitely. It’s getting to the point where some of the high-volume customers of these components are starting to really push the tech forward and drive the price down. Sometimes the science community pushes the consumer tech industry forward and sometimes it’s the other way around. The power of a popular consumer tech product to drive down the cost of valuable components is incredible.

What’s the most rewarding aspect of your job?

I love that we’re in a space that isn’t really your everyday consumer product – it’s not an iPod and not everyone’s going to have one of these, but it’s going to have a huge impact. The things we and our customers are finding out about the brain is something you and I might not fully understand, but we can still feel the impact.

I’ve realized there’s still so much we don’t know about the brain and, consequently, there’s so much opportunity for discovery. Any small new feature I can make as a humble Mechanical Engineer on this project I know is really going to make an impact.

Keyword: ai retopology

How to Perform a Drupal Integration with Other Enterprise Systems?

Effective integration of different systems in a company today is an elementary factor for success. In a world of dynamic technologies and IT tools, Drupal stands out because it’s a constantly evolving open source software with the support of a large community. With its flexible structure of modules written in PHP and the ability to use tools such as Composer, Drupal becomes an ideal solution for integrating various programs in an organization. 

Why does Drupal work well for integration? 

In favor of Drupal is its flexibility and the rich database of modules available on Drupal.org, which is constantly growing and often includes ready-to-use solutions for integration.

It’s also worth noting that Drupal has its API, which makes it much easier to create custom Drupal integration modules. This popular system is based on Symfony, which allows for writing new integrations even faster and easier, thanks to access to advanced, ready-made solutions. You don’t have to start everything from scratch, which saves time and resources.

In our blog post, we’ll discover how to harness Drupal’s potential to effectively integrate it with other systems in your organization, taking advantage of the powerful tools and instant options available in this powerful open source software.

How is Drupal architecture built?

Architecture plays a crucial role in the context of Drupal integration with other systems. This is especially true in a dynamic business environment, where a company’s systems are often subject to modification and must be easily extensible and ready for change. 

As technologies and business requirements evolve, Drupal’s flexible design enables rapid implementation of changes and the addition of new features and integrations. This is critical to maintaining competitiveness and operational efficiency in the enterprise.  

PHP language

Drupal is written in PHP – a well-known language used worldwide by web developers. How does its popularity affect Drupal integrations with other systems? 

The PHP language is widely used in the development of web applications, resulting in unique toolkits for programmers known as SDKs (Software Development Kits). Examples include the SDK for Google services or the SDK for eBay integration. 

Ready-made libraries, numerous tutorials, and documentation on system connection in PHP are also beneficial. Thus, the process of Drupal integration with other systems becomes much more accessible and efficient. 

Symfony components 

Drupal and Symfony allow you to install off-the-shelf libraries using the Composer tool, which further simplifies the process of integrating with external programs. These libraries are often provided by the systems you want to integrate with, which means that companies can use official or unofficial solutions from manufacturers. 

As a result, the integration process becomes even smoother, and ready-made libraries make it easier to create connections and exchange data between different platforms. This, in turn, speeds up the implementation of integration.

An example is the installation of Google services such as Google Drive or YouTube:

{

    "require": {

        "google/apiclient": "^2.15.0"

    },

    "scripts": {

        "pre-autoload-dump": "google-autoload-dump::cleanup".

    },

    "extra": {

        "google/apiclient-services": [

            "Drive,

            "YouTube"

        ]

    }

}

Also noteworthy is the SDK provided by Amazon:
composer require aws/aws-sdk-php

Twig template system

Drupal uses the Twig template system to render content on websites. While it may seem unrelated to integration, it’s essential for Drupal’s flexibility in this context. With Twig, advanced output content processing is possible, making it easier to communicate between different applications. 

In addition, the Twig template system works with the library system in Drupal. It allows external JavaScript libraries, which expands the possibilities for creating user interfaces and customizing them for a given project. This way, Drupal becomes a more flexible integration tool, allowing us to create advanced web solutions.

For example, we can create custom services for formatting and filtering the displayed content. Here is an example of turning www.xxxx.xxx addresses into clickable links “on the fly”: 

service.yml

  my_module_twig_extension.twig.InlinerTwigExtension:

    class: drupal_module_twig_extensionTwigExtensionTwigExtension

    Tags:      { name: twig.extension }

Class code: 

public function getFilters(): array {

    return [

      new TwigFilter('replaceUrls', [$this, 'replaceUrls']),

    ];

  }

  /**

   * Replace url link to html link in texts.

   */

  public function replaceUrls($text): array|string|null {

    if (empty($text)) {

      return $text;

    }

    $pattern = '/(http:/S+|https:S+|www.S+)/i';

    $replacement = '<a href="$1" target="_blank">$1</a>';

    $text = preg_replace($pattern, $replacement, $text);

    $pattern = '/<a href="www.(.*?)">(.*?)</a>/i';

    $replacement = '<a href="http://www.$1">$2</a>';



    return preg_replace($pattern, $replacement, $text);

  }

And in Twig, we add our custom filter:

  {{text|replaceUrls}}

How to perform Drupal integration with other systems? 

We’ve already reminded you of the basic elements of Drupal’s architecture that can affect the system’s connection with external tools. Below, we present specific approaches to integration. 

Integration using Drupal Rest API

Integration with Drupal Rest API is a relatively simple and effective process. To be able to implement it, we need to enable the Rest module in the Drupal admin panel, configure the appropriate access permissions, and create API endpoints.

We can also use the REST UI add-on, which allows us to add some actions from the UI.

It’s also important to implement authorization and authentication mechanisms to ensure that API access is secure. 

Drupal and Symfony allow the custom creation of REST endpoints. Developers can use tools such as Guzzle and other libraries to create custom API endpoints that meet the project’s exact needs. This means that the structure and behavior of the API can be tailored to specific business requirements. As a result, we manage to build personalized integration solutions and gain accessible data exchange between Drupal or Symfony and other applications and platforms.

Before implementing an integration, it’s a good idea to thoroughly test the API and create documentation to make it easier for other developers to use the resources and operations provided by the API. This way, Drupal can be effectively integrated with other systems, allowing data and processes to flow freely between different applications and tools.

Creating a plugin for Rest 

We need to create a classe with annotation @RestResource along with url_paths and extend RestResource class. Example:

<?php



Namespace Drupal_your_module_plugin_resource;



use Drupal;

use DrupalResourceResponse;

use SymfonyComponentDependencyInjectionContainerInterface;

use SymfonyComponentHttpKernelExceptionAccessDeniedHttpException;



/**

 * Provides a resource to get view modes by entity and bundle.

 *

 * @RestResource(

 * id = "my_custom_resource",

 * label = @Translation("My Custom Resource"),

 * uri_paths = {

 * "canonical" = "/my-custom-endpoint".

 * }

 * )

 */

class MyCustomResource extends ResourceBase {



  /**

   * {@inheritdoc}

   */

  public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {

    return new static(

      $configuration,

      $plugin_id,

      $plugin_definition,

      $container->get('entity.manager')

    );

  }



  /**

   * Responds to GET requests.

   *

   * @return @DrupalResourceResponse.

   * The HTTP response object.

   *

   * @throws @SymfonyComponentHttpKernelException.

   * Throws exception expected.

   */

  public function get() {

    // Your custom logic here to handle GET requests.

    // For example, you can fetch data and return it as a JSON response.

    $data = ['message' => 'This is a custom REST resource.'];

    return new ResourceResponse($data);

  }



  /**

   * Responds to POST requests.

   *

   * @param mixed $data

   * The data received in the POST request.

   *

   * @return @DrupalResourceResponse.

   * The HTTP response object.

   *

   * @throws @SymfonyComponentHttpKernelException.

   * Throws exception expected.

   */

  public function post($data) {

    // Your custom logic here to handle POST requests.

    // For example, you can create a new resource based on the received data.

    // Return a response indicating success or failure.

    return new ResourceResponse(['message' => 'POST request handled.']);

  }



}

Another approach is to create routing and controllers to receive our requests:

my_module.resource_list:

  path: '/api/resources'

  defaults:

    _controller: '_controller::getList'.

    _title: 'Get list of resources'.

  methods: [GET].

  requirements:

    _permission: 'access content'

  formats: ['json']


my_module.resource_get:

  path: '/api/resources/{id}'

  defaults:

    _controller: '_controller::getSingle'.

    _title: 'Get a single resource'

  methods: [GET].

  requirements:

    _permission: 'access content'

  options:

    parameters:

      id:

        type: 'integer'

  formats: ['json']



my_module.resource_create:

  path: '/api/resources'

  defaults:

    _controller: '_drupal_module_Controller_ResourceController::create'.

    _title: 'Create a new resource'

  methods: [POST].

  requirements:

    _permission: 'create new resource'

  options:

    parameters:

      date:

        type: 'entity:my_resource'

  formats: ['json']

In addition, we present how to download sample data in our custom module from external systems, such as YouTube, using GuzzleHttpClient:

<?php



Namespace Drupal_module_Controller;



use DrupalCoreControllerBase;

use SymfonyComponentHttpFoundationJsonResponse;

use GuzzleHttpClient;



class GoogleApiIntegrationController extends ControllerBase {



  public function getContent() {

    // Configure the Guzzle client

    $client = new Client([

        'base_uri' => 'https://www.googleapis.com/youtube/v3/', // Google API base URL

    ]);



    // Query parameters, including the API key

    $params = [

        'query' => [

            'part' => 'snippet',

            'q' => 'cats', // Example query - search for cat videos

            'key' => 'YOUR_API_KEY', // Replace 'YOUR_API_KEY' with your own Google API key

        ],

    ];



    // Perform a GET request

    $response = $client->get('search', $params);



    // Decode the response JSON

    $data = json_decode($response->getBody());



    // Process data from the response

    $results = [];

    foreach ($data->items as $item) {

        // You can process video data here, such as displaying titles and descriptions

        $results[] = [

            'title' => $item->snippet->title,

            'description' => $item->snippet->description,

        ];

    }



    // Return the results as a JSON response

    return new JsonResponse($results);

  }

}

Drupal integration through modules 

Connecting Drupal with other systems via modules is a popular approach to extend the website’s functionality. Especially if it’s third-party systems that integrate with our web page.

Examples of popular modules include:

  • RESTful Web Services: the module described above allows us to create REST resources and handle HTTP requests, which works well for communicating with other applications and services.
  • Feeds: the Feeds module enables us to import and export data from different sources, which is helpful for synchronizing content with external systems. For example, with the Feeds module, we can define the data source and field mapping between Drupal and another system.
  • Create Views: the Views module allows us to create custom views that use data from other systems and display them on our Drupal website. Views can also be used to present data from other systems. Particularly useful in integrations is also the option to expose data in XML, CSV, or other formats, which external systems can easily consume. We can use the Views data export module for this purpose. 

Drupal integration by this method is a practical solution for various types of projects. There are dedicated modules for specific systems that are ready to use or significantly speed up integration. A few examples are:

  • Jira – a project management tool,
  • PayPal – an online payment system,
  • HubSpot – a CRM platform,
  • MailChimp – a marketing automation and e-mail marketing platform. 

More such components can be found on Drupal.org in the Third-party Integration
category.

Drupal Salesforce integration

Salesforce is one of the largest and best-known customer relationship management software companies. It offers various CRM (Customer Relationship Management) solutions and tools for automating business processes, marketing, customer service, and data analysis.

Using its example, we’ll show how easy it is to integrate this kind of system with Drupal. 

First, we can use a module available on Drupal.org – Salesforce.

The main component contains a set of modules that support integration with Salesforce by synchronizing various Entities (e.g.,  users, nodes, files) with Salesforce objects (e.g., contacts, leads). It supports uploading data from Drupal to Salesforce, as well as downloading or importing data from Salesforce to Drupal. Changes can be made in real-time or asynchronously in batches when running cron.

If, for some reason, we need more custom solutions, we can extend this with our own module. Salesforce API has classes and a set of hooks for extension, such as:

/**

 * Implement an EventSubscriber on SalesforceEvents::PUSH_PARAMS.

 */

function hook_salesforce_push_params_alter() {

}



/**

 * Implement an EventSubscriber on SalesforceEvents::PUSH_SUCCESS.

 */

function hook_salesforce_push_success() {

}



/**

 * Implement an EventSubscriber on SalesforceEvents::PUSH_FAIL.

 */

function hook_salesforce_push_fail() {

}

We can also use a dedicated SDK for PHP, downloaded with Composer, which allows us to easily receive and send data to Salesforce. 

Drupal integrations through Zapier

System integration through Zapier is the process of connecting different applications, tools, and systems to automate tasks and transfer data between them using the platform above. Zapier enables the creation of rules or “zaps” that determine what will happen when a certain event occurs in one system and what actions will be taken in another.

Why is integration with Zapier useful, and what benefits does it bring?

  • Simple and fast connection: Integration with systems using Zapier is easy to set up and doesn’t require advanced technical knowledge. We can create our own zaps, customizing them to suit our needs in minutes.
  • Task automation: Zapier enables the automation of many tasks and processes, saving time and avoiding human error. This allows us to focus on more strategic aspects of the business.
  • Expanded functionality: With support for hundreds of applications and tools, Zapier allows us to create more advanced and integrated solutions. We can synchronize data, generate notifications, create reports, and more, combining different systems into a cohesive work environment.

An example of a simple Drupal integration with Excel via Zapier:

Source: Zapier

Drupal integrations – summary

Drupal is a highly flexible system in terms of extensibility, offering unlimited integration with other solutions and tools. As an open source software, it has a wide range of integration modules available on Drupal.org, which allow us to connect a website to various applications, including CRM, ecommerce, social media, etc.

With its own API and Symfony components, Drupal enables us to create custom integrations, giving us complete control over the communication process between systems. Protecting the data is a priority, and Drupal maintains the highest security standards during integration. If you need help with this tool for creating personalized and integrated websites, get support from an experienced Drupal agency. 

Keyword: ispo trade show

How to read a pool pump motor nameplate

The pool pump motor nameplate – all the information that’s fit to print, on a tiny, metallic label. If you can still read yours, it’s chock full of necessary information when it comes time to replace your pump motor.

The nameplate does have some bits of information that can be less than useable. So, if you call us up with the PART or the SERIAL numbers shown on the left, we may be less than helpful.

The other bits of information are quite useful – Horsepower, Service Factor, Voltage, Frame Type, etc. Let’s take a look at these values, and what they should mean to you.

1. FR – FRAME TYPE. The value listed next to “FR” will refer to the type of Frame, or specifically the Flange Type. The Flange is on the “Wet End” of the motor, or the end that attaches to the pump. Most styles have a circular face, called a “C” Flange, and one very popular frame type, the 56Y/48Y, is known as the “Square” Flange. The Keyed shaft motor is used on older bronze motors, along with a stub shaft to shim the impeller. Aboveground pools use the 48 Frame type almost exclusively, notable by it’s small size and built in “legs”.

2. HP – HORSEPOWER. This value refers to the amount of work capable by the motor. All motors spin at the same speed, 3450 RPM, but the higher the horsepower, the greater the volume of water that will be pumped. In America, we have a V-8 mentality, and many of our customers install a pump that is too large for the pool or the filter. If you do have a valid reason to increase the horsepower, make sure your filter can handle the flow rate. You also will need to change the impeller to one that is rated for the higher horsepower. The horsepower of your pool pump is also dependent on the Service Factor (SF) described below.

3. SF – Service Factor. This is a bit complicated to express eloquently, but let’s give it a try. About 20 years ago, motor manufacturers began producing “Up-Rated Motors”. By increasing the ServIce Factor of a particular motor, they are able to get more work out of a smaller horsepower motor. By multiplying the HP x SF, you will get the true horsepower of a motor. For example, in the motor nameplate on the right, when we multiply .50 horsepower by 1.3 SF, we obtain the what’s called the Total Brake Horsepower of 0.65 HP.

When considering a new motor, definately match the frame type and HP. You will be able to buy an uprated motor (also called Max Rated by Hayward) for a cheaper cost than a full rated motor, and also enjoy some electrical savings. Just be sure that HPxSF of the new motor is equal to or greater than HPxSF of your existing motor.

 4. VOLTS: 115/230 tells us that this motor is “reversible”. It will come wired, from the factory, to accept 230 volts, and if you want to use only 115 volts, you can easily “reverse” the voltage. See the Low Voltage – High Voltage diagram on the upper nameplate, and consult the instructions with a new motor to switch voltages. Some smaller motors are 115 only and some larger motors are 230 only. If you aren’t sure, or the nameplate is no longer readable, you can test the power at the motor, timeclock or breaker with a multi-meter. A 230 volt breaker will also have 2 wires  (legs) from the pump attached to the circuit breaker, whereas a 115 volt install will have one wire going to the breaker and one leg going to the neutral buss bar.

5. AMPS – Indicated by two numbers, i.e. 8.8/4.4, this tells you the amperage draw of the motor connected to 115V (8.8) and 230 Volts (4.4). Amp draw is what you pay for on your electrical bill. The smaller this number the better.

6. HZ – Hertz, is a frequency measurement, in cycles per second. In the US, all pump motors will be 60HZ or 60 cycles per second. Many other parts of the world operate on 50HZ. These two are not compatible. A 50HZ motor will not work with US voltages.

7. PH – Phase. This indicates whether the motor operates on Single Phase current or 3-Phase current. Most residential electrical service is single phase, while many larger commercial pumps (10-15hp) will operate on a 3-Phase current. This allows large motors to have a more evenly distributed alternating current. Without “3 Phases” of power, power hungry commercial pool pumps would draw more power than is available.

8. AMB – Ambient Temperature, or the highest allowable outside temperature that this motor should be operating in. This is usually listed at 50 degrees celcius. (about 122 degrees Fahrenheit). Maybe a concern if your pool is in Death Valley, Ca.

9. ENCL – This refers to the openings or lack of openings in the shell of the motor. Swimming pool motors are classified as “Open” and “Drip-Proof”. It’s important to keep the motor vents free of mulch, leaves and dirt, to allow the internal motor fan to keep things cool.

10. TIME – This indicates the running schedule for a particular motor. Pool motors are listed as “Continuous Duty”, sometimes abbreviated as “CONT” – which means they are built for 24/7 operation. You should be able to operate the pool pump motor only 10-15 hours daily – and still maintain water clarity.


How to Schedule a Publication in Drupal? Scheduler Module

When creating content for a website, it is sometimes necessary to plan its publication later down the line. However, taking care of it manually can be both time-consuming and inconvenient. This is when Scheduler comes in handy – a Drupal module that will help you automate this process. Using it will allow us, among other things, to schedule the publication of content for a specific date and time.

Scheduler module – dates

The module was released on 23 July 2006, and its latest update was pushed on 19 July 2021. Scheduler has versions for Drupal 7 and 8. What is more, the latest update is compatible with Drupal 9 as well.

Module popularity

The module is currently used on more than 85 thousand websites. About 44 thousand of them are running Drupal 7, and more than 37 thousand are on Drupal 8.

Source: Drupal.org

Module developers

Scheduler was originally published by Eric Schaefer. However, the list of people working on its development to date is very long and impossible to establish – we don’t know all the users who contributed to its development.

Drupal Scheduler module – what does it do?

As I pointed out in the introduction, the module is used to plan content publication in advance. It also offers you a way to plan unpublishing. If needed – for example, in the case of events, where news will be made obsolete after the end, you can task the module with publishing your content and schedule its removal from your website at a specific day and time.

Scheduler provides three new permissions, allowing only the selected roles to have access to scheduled publishing. The list of possibilities also includes the so-called Lightweight cron, the configuration of which optimizes resource consumption. Lightweight cron is the developers’ solution to make the cron responsible for publishing and removing content available to be run separately, without the need to initiate all other tasks, as is usually the case in Drupal.

Unboxing

Installation is standard. I recommend using Composer.

composer require drupal/scheduler

 

Permissions

Go to

/admin/people/permissions#module-scheduler 

– there, you will find a list of permissions that the module provides:

 

Administer scheduler

This setting enables you to configure the Scheduler module, available at

/admin/config/content/scheduler 

(see the next section for the description of all the features).

Scheduler content publication

Granting this permission allows a role to set scheduled publication, as well as to plan unpublishing.

View scheduled content list

Scheduler provides a view, which is available at

/admin/content/scheduled

Granting this permission allows you to access this view.

Settings

Go to

/admin/config/content/scheduler

to find all the global settings for the module. What is more, Scheduler can be configured per content type. Below, you can find a break down the global options.

 

Allow users to enter only a date and provide a default time

Allows users who have permission to configure scheduled content publishing to specify only the publication date. When this option is selected, the time will be predefined and configurable in the Default time field.

 

Hide the second

Checking this option disables the ability to set seconds when scheduling content publishing.

Lightweight cron

As I pointed out earlier, by default, Drupal runs all cron jobs every once in a while. Checking which content needs to be published and unpublished relies on a cron job, which should be run every 1-5 minutes. Configuring Drupal to run all cron jobs every minute is hardly a very good idea, considering its performance, which is why the developers enabled the users to run a single cron job at a suitable interval. To do this, you need to add a new cron job run at a given time. Here is an example of a cron job that is run every minute: 

* * * * * wget -q -O /dev/null "https://tesd9.lndo.site/scheduler/cron/{access-key}

Go to

/admin/config/content/scheduler/cron 

to find the lightweight cron settings. There, you can enable logging of cron job activation and completion, change access-key and run cron manually.

Content type

I’ll illustrate this option with the default content type – Article – available in Drupal default profile. Go to

/admin/structure/types/manage/{content-type-machine-name} 

There, you will notice a new Scheduler tab. This is where you’ll find all the module’s configuration options, which you can set for each entity.

 

Enable scheduled publishing/unpublishing for this content type

Enables or disables the ability to set scheduled publication and/or unpublishing.

Change content creation time to match the scheduled publish time

Changes the date in the creation time field to the date selected as the planned publication date.

Require scheduled publishing/unpublishing

Checking this option makes setting scheduled publication and/or unpublishing required.

Create a new revision on publishing/unpublishing

Creates a new revision during scheduled publication and/or unpublishing.

Action to be taken for publication dates in the past

This setting enables you to specify what will happen when the editor selects a publication date earlier than the current date. You can choose one of three options here:

  • Display an error message about choosing a date earlier than the current one – in this case, the content won’t be published.
  • Publish content immediately after saving.
  • Schedule your content to be published on the next cron job run.

Display scheduling options as

Changes the way Scheduler module options are displayed when creating and editing content. There are two options to choose from – Vertical tab and Separate fieldset.

Vertical tab

 

Separate fieldset

 

Expand fieldset or vertical tab

Allows you to specify whether the field provided by the Scheduler should be expanded when creating and editing content.

Show message

Checking this option displays information about planned publication and unpublishing after saving the content.

Module usage

Let’s assume that our article needs to go live on 1 September 2021 at 9:30 a.m. and won’t have to be unpublished.

When writing the article, choose Publish on and set it to 01.09.2021 at 9:30 a.m., and then leave Unpublish on empty. In this case, the Require scheduled unpublishing option must be disabled for the Article entity.

Now imagine that our article needs to go live on 1 September 2021 at 9:30 a.m. and has to be unpublished a week later at the same time.

Let’s start with doing the same thing as we did in the previous example, but this time also set Unpublish on to 08.09.2021 at 9:30 a.m.

You may be also interested in: How to Make Content Editing Easier in Drupal – Review of the Simplify Module

Integrations

Scheduler offers integrations with several Drupal modules.

  • If you’re using the Content Moderation module, you must enable the Content Moderation Integration sub-module.
  • Scheduler provides additional conditions, actions, and events for the Rules module.
  • It is also integrated with the automatic generation of test content provided by the Devel Generate module. Scheduler can automatically add the planned publication and unpublishing dates.
  • It also creates new tokens for the Token module, containing the planned publication and unpublishing dates.

The future of the module

The developers responsible for the Scheduler have announced that they are working on releasing version 2.0 of the module, supporting entities other than nodes, for example, Media, Commerce Products, and more. They also announced that events triggered by the Scheduler module and its integration with the Rules module will from now on be triggered after an entity is saved, rather than before, as was the case until now. The development progress can be followed on the module page.

Drupal Scheduler module – summary

Scheduler is a tool that greatly facilitates the scheduling publication of content on your website. Using it allows you to automate the process and makes it possible to do all the steps required to publish content at any time – thus making sure that you won’t have to worry about it when the time comes. At Droptica, we also use Scheduler to schedule publications in advance. This module is extremely popular among Drupal users, and as such, it is constantly developed – with version 2.0 in the works right now. Our team of Drupal developers recommends using the Scheduler module to schedule publications in advance or to publish content for a specific time.