查找

Artigo
· 1 hr atrás 2min de leitura

CCR: Block markMoveToXXXXComplete, markCANCELComplete with Undeployed ItemSets

As part of improvements regarding CCR usage and usability, certain transitions are now blocked when a CCR Record has undeployed ItemSets for required Environments. 

 

To promote best practice, when a Tier 1 or Tier 2 CCR moves between Environments, it is important that ItemSets are deployed to required Environments before confirming that the CCR has successfully been implemented in the next Environment. Previously, when progressing a CCR from one Environment to the next, users were not required to deploy ItemSets before performing markMoveToXXXXComplete or markCANCELComplete transitions. Now, both of these transitions are blocked if there are Undeployed ItemSets for the next Environment(s). 

There are a few important things to note with regards to this change:

  • For Tier 1 CCRs only: If a user wishes to cancel a CCR, and has Undeployed ItemSets before cancelling, the behavior of CCR is as follows:
    • any Undeployed ItemSets that exist before cancel is chosen are abandoned automatically (this is not new behavior, but important to note). Abandoned ItemSets do not prevent a user from performing the markCANCELComplete transition. 
    • new ItemSets are created for backing out changes in each effected Environment
    • These new ItemSets that are created must be deployed before performing the markCANCELComplete transition.  
  • For Tier 2 CCRs: we do not do an automatic backout, which means that undeployed ItemSets will remain undeployed until the user cleans them up, and thus, the markCANCELComplete transition will be blocked until all undeployed ItemSets are abandoned or deployed before changing Phase or moving to Cancelled by the user to encourage best practice

These restrictions are enforced on all Secondary Environments which are set to true for "Requires ItemSets." If Environments are kept up to date another way, (e.g. DB refresh, AutoDownload Task), it must be ensured that the Requires ItemSet box is unchecked in order to prevent the new workflow check from impeding work.

Please do not hesitate to comment here with questions or reach out in your normal CCR support channels.

1 novo comentário
Discussão (1)2
Entre ou crie uma conta para continuar
Anúncio
· 1 hr atrás

[Video] Optimizing Parallel Aggregation Using Shared Globals

Hey Community!

We're happy to share a new video from our InterSystems Developers YouTube:

⏯  Optimizing Parallel Aggregation Using Shared Globals @ Ready 2025

This presentation explains an optimization to parallel aggregation in SQL queries using shared globals. Previously, worker processes computed intermediate results separately and sent them to a parent process for serial aggregation, creating delays. The new approach lets all workers write directly and in parallel to a shared global, eliminating the parent bottleneck.

This greatly reduces wait time, especially for queries with many groups. Testing on 20 million rows showed up to a 38% performance improvement, while also simplifying query execution and reducing code complexity.

🗣 Presenter: Elie Eshoa, Systems Developer, InterSystems

Enjoy watching, and subscribe for more videos! 👍

Discussão (0)1
Entre ou crie uma conta para continuar
Artigo
· 5 hr atrás 1min de leitura

Production Terminal Commands

Terminal Commands for Production:

  • Production Start, Stop, Update, Recover and Clean Production

Do ##class(Ens.Director).StartProduction(“ProductionName”)

Do ##class(Ens.Director).StopProduction()

Do ##class(Ens.Director).UpdateProduction()

Do ##class(Ens.Director).RecoverProduction()

Do ##class(Ens.Director).CleanProduction()

Abort Messages in the queue:

               d ##class(Ens.Queue).AbortQueue(“Component Name”)

Get InstanceName :

              W !,##class(%SYS.System).GetUniqueInstanceName()

Get Node Name:

              W  !,##class(%SYS.System).GetNodeName()

Terminate JobId :

   d $SYSTEM.Process.Terminate(jobid)

 Enable Namespace:

     do ##class(%EnsembleMgr).EnableNamespace($namespace)

Enable ConfigItem:

     Do ##class(Ens.Director).EnableConfigItem("ConfigNameHere", 0, 1)

Get GUID:

     write $System.Util.CreateGUID()

Get CPU Info:

    d $system.CPU.Dump()

Get Number of CPUs: Returns the number of virtual CPUs (also known as logical CPUs or threads) on the system.

   W $SYSTEM.Util.NumberOfCPUs()

Get Free Space: Display all the namespaces database free spaces

do ALL^%FREECNT

Thanks,

Discussão (0)1
Entre ou crie uma conta para continuar
Artigo
· 5 hr atrás 3min de leitura

My experience with APIs and POS integration.

Hola amigo! 😊 Cómo estás hoy,

I would like to share a small part of my learnings from my first ever official project: POS/EDC machine integration with our billing system. This was an exciting challenge where I got hands-on experience working with APIs and vendors. 

How does a Payment Machine actually work?

It's simple, start by initiating/creating a transaction, then retrieve its payment status.

Here, initiate/create refers to POST method and Retrieve refers to GET.

Workflow... 

Let us assume that the vendor has given us a document with both these APIs (Create and Fetch Payment Status). Samples listed below -
 

CREATE TRANSACTION:

url/endpoint: https://payvendor.com/create-transaction
method: POST
payload: 
{
    "reference_id": "2345678",
    "pos_id": "PISC98765",
    "date_time": "MMDDYYYYHHMMSS"
    "amount": 100
}
response: [200]
{
    "reference_id": "2345678",
    "pos_id": "PISC98765",
    "date_time": "MMDDYYYYHHMMSS"
    "unn": "456789876546787656"
}

FETCH PAYMENT STATUS:

url/endpoint: https://payvendor.com/get-status
method: GET
payload: ?reference_id="2345678"
response: [200]
{
    "reference_id": "2345678",
    "pos_id": "PISC98765",
    "date_time": "MMDDYYYYHHMMSS"
    "unn": "456789876546787656"
    "status": "paid"
    "amount": 100
}

 

How do we use these APIs? Let's find out... 🫡

To consume these APIs in cache objectscript, we have a module or a class to make HTTP requests from within. %Net.HttpRequest.

Basic:

  • Create an instance of %Net.HttpRequest.
  • Set the url and the HTTP method.
  • Add the header and the body. [if needed]
  • Send the request to the server.
  • Handle the response.
; --------- POST REQUEST EXAMPLE ---------
Set req = ##class(%Net.HttpRequest).%New()  ; creates an instance of this class
Set req.Server = "https://payvendor.com"    ; the server
Set req.Location = "/create-transaction"    ; the endpoint
Set req.Https = 1       ; 0 if http / 1 if https
Set req.ContentType = "application/json"    ; ContentType
; ---- create the JSON body ----
Set obj = ##class(%DynamicObject).%New()
Set obj."reference_id" = "2345678"      ; unique
Set obj."pos_id" = "PISC98765"          ; device number
Set obj."date_time" = $ZSTRIP($ZDATETIME($HOROLOG,8), "*P") 
Set obj."amount" = 100
; -------------------------------
; ---- send request ----
Do req.EntityBody.Write(obj.%ToJSON())
Do req.Post()           ; .Post() will trigger the call
; ----------------------
; ---- Response ----
Write req.HttpResponse.StatusCode,!     ; HTTP STATUS CODE
Write req.HttpResponse.Data.Read(),!    ; HTTP STATUS MESSAGE
; ------------------

After creating the transaction, we can maintain a table (preferred) or a global to maintain logs against each transaction. 

; --------- GET REQUEST EXAMPLE ---------
Set req = ##class(%Net.HttpRequest).%New()  ; creates an instance of this class
Set req.Server = "https://payvendor.com"    ; the server
Set req.Location = "/get-status"    ; the endpoint
Set req.Https = 1       ; 0 if http / 1 if https
; ---- Query Parameters ----
Do req.SetParam("reference_id", "2345678")

; ---- send request ----
Do req.Get()           ; .Get() will trigger the call
; ---- Response ----
Set stsCode = req.HttpResponse.StatusCode,!     ; HTTP STATUS CODE
If stsCode=200 {
    Set objResponse = req.HttpResponse.Data.Read()
    Set objData = ##class(%DynamicObject).%FromJSON(objResponse)
    Set payStatus = objData.status              ; payment status
}
; ------------------

This is how we fetch the payment status. After we fetch the status, we can update the same in the billing system and our logs too.

 

This workflow is simple, but as we code more, we can evolve better frameworks and approaches. Over my experience, I’ve successfully integrated 5 POS vendors and 3 payment gateways with our billing system. If you have any questions or need guidance, feel free to reach out!

Also open for feedback. :)

 

Thanks...

Discussão (0)1
Entre ou crie uma conta para continuar
Pergunta
· 6 hr atrás

Safety and Comfort Features to Look for When Choosing a 7 Seater Taxi Near Me

When booking a 7 seater taxi for your group transportation needs, prioritizing safety and comfort is paramount. Whether you're traveling with family, colleagues, or friends, understanding what features to look for can ensure a secure and pleasant journey. This guide outlines the essential safety and comfort elements to consider when selecting a seven seater taxi service.

Essential Safety Features

1. Vehicle Maintenance and Certification

  • Regular Safety Inspections: Ensure the taxi company conducts frequent mechanical checks and maintains service records.
  • Valid MOT Certificate: Confirm all vehicles have up-to-date MOT certifications and are road-legal.
  • Professional Maintenance Schedule: Choose providers like Gatwick Taxi Transfer that follow strict maintenance protocols.

2. Driver Qualifications and Training

  • Licensed and Vetted Drivers: Verify that chauffeurs hold valid PCO licenses and have passed background checks.
  • Defensive Driving Training: Look for drivers trained in advanced driving techniques and emergency handling.
  • First Aid Certification: Prefer services whose drivers have current first aid training.

3. In-Vehicle Safety Equipment

  • Functional Seat Belts: Ensure all passenger seats have working, accessible seat belts.
  • Properly Fitted Child Seats: Confirm availability of age-appropriate child restraint systems when needed.
  • Emergency Equipment: Check for presence of first aid kits, fire extinguishers, and emergency tools.

4. Insurance Coverage

  • Comprehensive Hire and Reward Insurance: Verify the vehicle has appropriate commercial insurance coverage.
  • Public Liability Protection: Ensure adequate coverage for passenger protection and third-party liabilities.

Comfort and Convenience Features

1. Interior Space and Layout

  • Generous Legroom: Look for vehicles with ample space between rows for comfortable seating.
  • Individual Armrests: Prefer models with dedicated armrests for enhanced passenger comfort.
  • Adjustable Seating: Consider vehicles with reclining seats and adjustable headrests.

2. Climate Control Systems

  • Dual-Zone Climate Control: Ensure separate temperature controls for driver and passenger areas.
  • Individual Air Vents: Look for vehicles with multiple adjustable air vents throughout the cabin.
  • Efficient Heating/Cooling: Verify the system maintains consistent temperature in all weather conditions.

3. Luggage and Storage Solutions

  • Dedicated Boot Space: Choose vehicles with organized, secure luggage compartments.
  • Interior Storage: Look for convenient pockets, cup holders, and overhead compartments.
  • Easy Access Loading: Consider vehicles with low loading sills and wide-opening doors.

4. Entertainment and Connectivity

  • Charging Ports: Ensure availability of USB ports and 12V sockets for all passengers.
  • Wi-Fi Connectivity: Look for vehicles offering complimentary internet access.
  • Entertainment Systems: Consider options with individual screens or audio entertainment.

Advanced Safety Technologies

1. Driver Assistance Systems

  • Rear View Cameras: Essential for safe reversing and parking maneuvers.
  • Parking Sensors: Both front and rear sensors aid in tight space navigation.
  • Blind Spot Monitoring: Additional warning systems enhance driving safety.

2. Vehicle Stability Features

  • Electronic Stability Control: Helps maintain control during emergency maneuvers.
  • Anti-lock Braking System: Prevents wheel lock-up during hard braking.
  • Traction Control: Improves grip on slippery surfaces.

3. Passenger Protection Systems

  • Multiple Airbags: Look for comprehensive airbag coverage including side curtains.
  • Reinforced Safety Cell: Choose vehicles with enhanced passenger compartment protection.
  • Emergency Assistance: Prefer services with 24/7 support and tracking capabilities.

The Gatwick Taxi Transfer Standard

At Gatwick Taxi Transfer, we exceed standard safety and comfort requirements:

Our Safety Commitment:

  • All vehicles undergo daily safety checks and regular professional maintenance
  • Comprehensive insurance coverage with full passenger protection
  • Drivers with enhanced DBS checks and ongoing safety training
  • Real-time vehicle tracking and 24/7 operational support

Our Comfort Features:

  • Modern fleet with premium interior specifications
  • Climate-controlled environments with individual zone control
  • Complimentary Wi-Fi and charging ports throughout
  • Professional interior cleaning between every journey

Verification Checklist for Customers

Before confirming your 7 seater taxi booking:

  1. Ask about vehicle age and maintenance schedule
  2. Verify driver licensing and training credentials
  3. Confirm child seat availability if required
  4. Check insurance coverage details
  5. Inquire about cancellation and delay policies
  6. Read recent customer reviews and ratings
  7. Verify company accreditation and certifications

Conclusion: Prioritizing Your Well-being

Choosing a 7 seater taxi service involves more than just comparing prices. The right provider will demonstrate clear commitment to passenger safety through maintained vehicles, qualified drivers, and proper insurance coverage. Comfort features, while enhancing your journey, should complement rather than compromise safety standards.

When you book with Gatwick Taxi Transfer, you're choosing a service where safety and comfort are integrated into every aspect of our operation. From our meticulously maintained vehicles to our professionally trained chauffeurs, we ensure your group travels with peace of mind and arrives in comfort.

For your next group journey, don't compromise on what matters most. Choose a seven seater taxi service that prioritizes your safety and comfort above all else.

Discussão (0)1
Entre ou crie uma conta para continuar