Correct url parameters for opening appointments?

lock
push_pin
done
Besvarat
4

Hi,

We have had numerous issues with openening existing/new entities within SuperOffice using SOProtocol in the latest releases, some have been fixed now (see bug 52109, 53660, 54066), but since release 10.3.4 we had a customer experience another issue, opening a existing appointment or creating a new appointment using a SOProtocol url would always open the latest appointment.

We open the existing appointment like this;

/default.aspx?appointment.main?appointment_id=<appointment id>

And create a new appointment like this:

/default.aspx?appointment.main?appointment_id=0&contact_id=0&person_id=0&calendarassociate_id=<id>&doby=<start date>&endDate=<end date>

 

We changed this now, to make it work again:

Existing appointment:

/default.aspx?appointment[mainmode=edit]?appointment_id=<appointment id>

New appointment:

/default.aspx?appointment[mainmode=edit&new=true]?appointment_id=0&contact_id=0&person_id=0&calendarassociate_id=<id>&doby=<start date>&endDate=<end date>

 

Question is, is this the correct syntax now? Or is this going to break again in the next release?

22. apr. 2024 | 08:43 fm

Allt Svar (4)

Hi David, 

SoProtocol is one of those areas on docs that can be greatly improved. We are planning to take a closer look at this tomorrow and update as necessary. 

I received some insight from the web team and here is their instructions for creating a new appointment and what parameters are supported:

Open an appointment. The soprotocol should be on the format: appointment.main[new=true]?appointment_id=0&...other args...

These parameters are supported:
 * doby – Start date when creating new appointment. Format: YYYY.MM.DD HH:mm. Can be without time information.
 * enddate - End date when creating new appointment. Format: YYYY.MM.DD HH:mm.
 * length - Duration when creating new appointment – set instead of enddate. If both are set, length wins.
 * usedefaulttime - This is used when creating a new appointment to indicate that the doby / enddate parameters above is missing the time component and the default time should be used.
 * calendarassociate_id – This is the owner when creating new appointment.
 * useprojectcurrent – If “true”, sets “current” project on the new appointment. For example, this is set when creating an appointment from the project activity archive.
 * usesalecurrent – If “true”, sets “current” sale on the new appointment. For example, this is set when creating an appointment from the sale activity archive.
 * reopen – If “true”, uses the current sale and CreateDefaultReopenAppointment() to create the new appointment. Set when stalling a sale. If set, we use the start and end date in the appointment returned by NetServer.
 * groupview – If in the query (any text will do) the appointment is created from the group view (Diary -> View). Any text means that groupview=true, groupview=false or groupview=something are all considered present.
 * addparticipants – If in the query (similar to groupview) and groupview is set, add participant from current group view automatically. If not set, check preference Functions -> ShowInviteDlgFromView if we should add anyway.
 * basedon – Set to an appointment ID that will be used as base of the new appointment. Conflicts with “reopen”. If both are set, then reopen wins.
 * suggestedappointment_id – Set to an appointment ID that will be used as base of the new appointment. Conflicts with similar parameters. The other parameters will win.
 * entity - Set to the entity to use with suggestedappointment_id. "project" or "sale". If unset, but we have suggestedappointment_id, it defaults to "sale".
 * assignto - If set to any string value, the appointment will be assigned to the requested owner.
 * create - Parameter passed to CreateDefaultAppointmentEntityFromSaleSuggestion(). Should be "true" or "false".

 Examples:
 
 Create a new appointment based on another appointment:
  appointment.main[new=true]?appointment_id=0&basedon=1000
 
 Create a follow-up on 2020-12-15 using default time (next 15-minute slot):
  appointment.main[new=true]?appointment_id=0&doby=2020.12.15 10:30&usedefaulttime=true
 

Hope this helps!

 

22. apr. 2024 | 10:35 fm
Thanks tony! lots of useful information. Will try this out at the customer.

Only question for now would be what the syntax is for opening an existing appointment
22. apr. 2024 | 11:03 fm

Hi David, 

This now registered as bug ID 56938.

The docs are correct in the way it should work. For opening an existing dialog, it shouldn't contain any square brackets, but today it does, even if they are empty "[]".

This current release is on it's way out, but I'm confident we can push out a fix in online in a few weeks time.

Best regards.

23. apr. 2024 | 11:13 fm

Hi Tony,

Thanks for the info.

Would this mean that the way we are doing it now would break in next release? (then I know how much time we have once they are upgraded to 10.3.5 😅)

23. apr. 2024 | 11:53 fm

Lägg till svar