locked
Edit/Delete existing appointment in WP8 RRS feed

  • Question

  • hi,

    i am the developer of "Week View" and am currently porting my app to support some of the new features of WP8. "Week View" uses the Windows Live SDK to create/edit/delete appointments. This works great for windows live calendars but does not work for exchange calendars. 

    Does anybody know how to edit/delete appointments in WP8 via the provided WP API?

    Finally there is a "SaveAppointmentTask" in WP8 that can be used to create new appointments. I already tried this => cool, finally i can create appointments in non windows-live calendars by calling this Task.

    BUT:
    There is no task for editing existing appointments or deleting existing appointments?
    Hey MS - can this be true or did i overlook something? To me (as a developer) this looks like providing a method for creating a file but not for renaming or removing a file.

    regards,
    Hannes


    • Edited by HannesBiri Thursday, November 8, 2012 5:50 AM
    Tuesday, November 6, 2012 3:23 PM

All replies

  • Correct...  You can create appointments by using the SaveAppointmentTask but your application cannot delete appointments.

    The SaveAppointmentTask passes the information provided to the native calendar application which allows the user to save the appointment to the calendar of their choice.  You're application does not have direct access to the calendar database.

      It's a trade-off that allows apps some access while protecting the users critical data from accidental deletion. 

    see: Contacts and Calendar for Windows Phone and Read-only access to Contacts and Calendar for Windows Phone


    -Eric.

    • Proposed as answer by DB_N Wednesday, November 7, 2012 12:43 PM
    Tuesday, November 6, 2012 10:05 PM
  • I hope I have misunderstood something.

    WP has probably the worst calendar I've ever seen on a modern phone.

    If I understand this correctly, no one can produce a new calendar app to replace the built-incalendar completely?

                    
    Wednesday, November 7, 2012 12:45 PM
  • I hope I have misunderstood something.

    WP has probably the worst calendar I've ever seen on a modern phone.

    If I understand this correctly, no one can produce a new calendar app to replace the built-incalendar completely?

    Nobody outside of the internal Microsoft team that developed the included calendar to replace the built-in calendar completely.  This is (hopefully) the case on all phones that an outsider can not create a program to replace an internal application.  

    There is nothing to stop someone from building a new calendar to be used instead of the internal calendar for users that are unhappy with Microsofts version.  That application can import appointments from other calendars with published APIs and may even be able to add appointments to the external calendars via published APIs.  

    Wednesday, November 7, 2012 1:34 PM
  • ok, I expressed myself carelessly. When I say replace I mean really stop using the built-in calendar and just use a calendar app. Now it is not possible because it is not possible to build an app that can edit an event in the calendar, nor erase. In my eyes, this is clearly restrictive.

    I do not understand the reason why Microsoft does this, it seems to work well for example IOS?
    Wednesday, November 7, 2012 1:43 PM
  • If you feel strongly about it you can make a suggestion at http://wpdev.uservoice.com and/or add your vote to an existing suggestion.


    -Eric.

    Wednesday, November 7, 2012 3:11 PM
  • Correct...  You can create appointments by using the SaveAppointmentTask but your application cannot delete appointments.

    The SaveAppointmentTask passes the information provided to the native calendar application which allows the user to save the appointment to the calendar of their choice.  You're application does not have direct access to the calendar database.

      It's a trade-off that allows apps some access while protecting the users critical data from accidental deletion. 

    see: Contacts and Calendar for Windows Phone and Read-only access to Contacts and Calendar for Windows Phone


    -Eric.

    Eric:

    Can this API be used to enable support of .ics files in WP8? It is frustrating not being able to use the add to calendar function on many event type websites after you RSVP.  For example, say you get an evite and you go to the evite WEBSITE to rsvp, once you do that, the evite website has an option to add to calendar which when clicked allows you to add to outlook (a .ics file) , to google calendar, to yahoo calendar and to apple's ical.  I am sure you have seen this.  When clicking on the outlook option you are prompteed what to do with a .ics file, if you say open, in Wp7, and even in windows 8 and windows 8 RT, you are told that there is no program to open this file.  I am thinking that barring built in suport for this natively in WP8, an application can open the file and then pass the info along to the calendar via SaveAppointmentTask.  Is this possible?  ideally, you will be able to register the file type .ics an one that is "allowed" in the system , by downloading the app, and have the app invoked by the act of chosing "open" on the file.  This way the whole process is seamless.  Any thoughts would be appreciated...I am really hoping you would answer with "great news, WP8 supports .ics files automatically" :)

    Thursday, November 8, 2012 2:55 AM
  • > It's a trade-off that allows apps some access while protecting the users critical data from accidental deletion. 

    Why not simply add a permission for "modify calendar data" that a WP user has to grant an app to allow editing/deleting appointments? 

    As already mentioned by other users of this forum: Providing a "create appointment" task is great but not allowing to at least EDIT (bettter: edit + delete) in my opinion is a major limitation.

    As written, i am currently using the Windows Live SDK to create/edit/delete appointments in a widows live calendar. When signing in to Windows Live a user has to grant permissions to "Week View" to allow modifying calendar appointments => this is the permission i mentioned above, that should have been added as WP Permission.

    Is there an API for accessing a users exchange calendar the same way as accessing the windows live calendar by using the Windows Live SDK - some kind of "Exchange SDK"?
    This would at least allow me to use the same workaround as i am currently doing for windows live calendars.

    regards,
    Hannes


    • Edited by HannesBiri Thursday, November 8, 2012 6:09 AM
    Thursday, November 8, 2012 6:08 AM
  • Hello hannes

      I'm the developpers of WP7 Calendar and i have to agree with hannes (Nice job by the way).

      I had many hope with WP8 and the saveappointementtask. It's all gone. I just can't believe that in 2012, we, as developpers, can't do fully CRUD (Create, Read, Update and delete) on appointement.

      On my point of view, the calendar API was totally forgotten with WP8. The task is just for app that want to add an appointment. It's not for calendar base app.

      The CRUD point, is just the visible part of the iceberg :

      - Didn't check yet, but i would say we still don't have access to private appointement data
      - Still no access to subcalendar of an account. How do you want us to provide good customization?
      - And probably lots of others things

      I'll check the user voice and ensure that all people know that this point exist and vote for it.

    Best regards
    Olivier Bachellez

    Thursday, November 8, 2012 12:14 PM
  • Hi Oliver,

    thanks for your reply, nice app of yours too. :)

    I compiled "Week View" against the WP8 SDK + updated some references to get it running in the emulator since currently i do not have a physical WP8 device, once i have one i will test it on a real device.

    Here are my results:

    - Private Appointments are still not accessible by the WP8 SDK. (VS2012 Debugger now returns "null" as location for private appointments, WP7 threw an exception here) 
    - Calendar categories (private, business, birtshdays) are still not returned
    - Tasks are still not accessible

    The workaround for windows live calendars by using the windows live sdk to execute CRUD operations still works. (Of course only for windows live calendar appointments). In fact the Calender SDK did not improve since WP 7.5.

    @Everbody reading this thread + interrested in having better options for developers to create replacment apps of the built in calendar, please vote for:

    Change and delete appointments

    Remove access to private appointments limitation

    Access to calendar categories

    Access to Tasks

    I will also ask all people helping me with beta testing to please vote for this issues.

    An interresting sidenote: http://wpdev.uservoice.com/forums/110705-app-platform/suggestions/1731255-write-access-to-calendar-contacts
    Thank you for the suggestion; the capability to write to calendar and contacts has been greatly improved within the Windows Phone 8.0 developer platform. Download the WPSDK and give it a try. :)
    => As far as i can see the improvement was providing a "save appointment" task. MS, please bring out WP 8.1 soon + add some real improvements to the calendar API.

    regards,
    Hannes



    • Edited by HannesBiri Saturday, November 10, 2012 12:44 PM
    Thursday, November 8, 2012 10:36 PM
  •  When clicking on the outlook option you are prompteed what to do with a .ics file, if you say open, in Wp7, and even in windows 8 and windows 8 RT, you are told that there is no program to open this file.  I am thinking that barring built in suport for this natively in WP8, an application can open the file and then pass the info along to the calendar via SaveAppointmentTask.  Is this possible?  ideally, you will be able to register the file type .ics an one that is "allowed" in the system , by downloading the app, and have the app invoked by the act of chosing "open" on the file.  This way the whole process is seamless.  Any thoughts would be appreciated...I am really hoping you would answer with "great news, WP8 supports .ics files automatically" :)

    Yes, you could write an application that registers as handler for ".ics", or other file formats.  (see:

    Auto-launching apps using file and URI associations for Windows Phone 8 )

    You would need to write the code to parse the file contents and use that to fill out the properties of SaveAppointmentTask.



    -Eric.

    Thursday, November 8, 2012 11:09 PM
  • Hello

      Hannes, in your list i would add : access to sub calendar of an account. With this, we would be able to recovor the color set by the user to the subcalendar like it's done in the built it calendar

      Nice work gathering the existing uservoice. Yesterday i found only the first one.

      Hannes, i will contact you soon by mail (the one in week view) so we can organize a bit the voting.

    Best regards

    Olivier

    Friday, November 9, 2012 9:29 AM
  • Hi,

    I am the developer of "2do+events" app that also gets native calendar items and shows them besides its own entries.

    And I have noted the two apps, Week View by @HannesBiri and the WP7 Calendar by @Olivier Bachellez. You both have got great interfaces. I don't know if you are using any 3rd party controls. If not you can release your own usr controls.

    Now the point of this thread:

    One has to remember that to prevent spamming the WP enforces the dictum that 'the user is in control'. Hence the 3rd party apps are not allowed to automatically send emails or sms's. You are all aware of that. So in WP8 they have relaxed little bit and allowing us access to the file system and adding calendar entries.

    By this I didn't mean to support MS in all aspects. We can always demand more, through User Voice. Actually what we are getting now is the result of our voice. I will also be voting on some of the user voice threads given here.

    Here we should project solutions, may be work arounds, to present our apps in a better light.

    If we have a better calendar app, then we should be maintaining our own database. Either we plan to replace the native app or suppliment it. If we are supplimenting it, then we have to work within the limits exposed by the native app. If we are replacing it, then we have to have our own solution.

    Even now, we can add an entry to native calendar and provide some tags in Notes part and let user modify or delete the entry in the native app. Use those tags to modify entries in our own database. For the present, I hope that's how we can work around.

    Actually with WP8, even our apps can be double width (Isn't it. I haven't explored WP8 as I am yet to get a Win8 machine). So if our app is worth the salt the user will be replacing the the native calendar tile with ours. Let's take the challenge. I know many of us can get to it.


    ThanQ...

    Friday, November 9, 2012 2:48 PM
  • Hi all,

    I'm the developer of "WeekCal". I hoped wp8 will be the solution for our problems. But I'm disappointed now big time like you all.

    One major request I have is editing google calendar. I do provide editing windows live calendar but did not found the time for the google one. Do you guys provide that?

    Anybody interested in doing it together and share the code?

    Regards,
    Jean-Claude

    Wednesday, November 14, 2012 7:53 PM
  • Hi Jean-Claude,

    same thing here for me - found no time for doing the google calendar access + also was hoping that MS opens the (existing!) interface for creating/deleting/editing appointments in all configured calendar.

    Accessing the google calendar should not be that hard: https://developers.google.com/google-apps/calendar/v2/developers_guide_dotnet

    Some of my users also are asking for accessing the exchange calendar and maybe facebook calendar is interresting too... This means, we have to integrate all this calendars with their different api's and in fact duplicate existing functionality.

    Additionally a user has to authenticate against windows live, google and exchange calendar if he want's to use all of them. I Don't really like this but currently it's the only possible way, as we know.

    @Eric: I know, this is a bit early but can you tell us, if MS has plans to open the API and allow editing/deleting appointments in all calendars a user has configured on his phone?

    regards,
    Hannes

    Wednesday, November 14, 2012 10:23 PM
  • @Eric: I know, this is a bit early but can you tell us, if MS has plans to open the API and allow editing/deleting appointments in all calendars a user has configured on his phone?

    regards,
    Hannes

    No plans?

    It seems that WP8 is a good system for some stupid games (or apps that doesn't need to interact with the system). But if you want create an app to increase the the functionality of the OS, it is impossible.

    WP8 is so limited and developers has no change to increase this OS limitation. This should let you reflect, Microsoft! You created a OS like iOS but more limited and with less functionality!

    I am also in this situation like the other users in this thread now...

    - I can understand the security reasons.

    - I can understand that Microsoft doesn't want some apps who remove appointments in the background.

    So, the solution with the SaveAppointmentTask is of course a good solution. But this is all what a developer has to interact with thecalendar!

    Developers need more features:

    - for example color of the current calendar

    - possibility to delete or at least edit an appointment on a certain calendar, this should not be done with an API but with a task, this should be acceptable for the OS security, or not?

    - create a sub-calendar on the default Microsoft-account.

    - if this is not possible, the developer should be able to open the default phone calendar on a given day. So the user can do what he want manually. At the moment a calendar app has no interaction with the phone calendar. Can only get an appointment with limited information about it.


    Saturday, March 23, 2013 11:09 AM
  • I cannot comment on future plans...

    That is good feedback.  The best way to get visibility for you suggestions regarding feature improvements is to post your suggestions, and/or vote on others suggestions, at our uservoice site: Windows Phone Developer UserVoice.  (http://go.microsoft.com/fwlink/?LinkId=282351)


    -Eric.

    Monday, March 25, 2013 2:23 PM
  • hi guys,

    I am the author of "Week Calendar" and promoter of the Remove Appointment.IsPrivate limitation initiative.

    *bump* and any news about the topic on WP8.1 SDK?

    Tuesday, February 25, 2014 8:57 AM
  • Can't see any improvements after 2 years.
    Friday, June 20, 2014 1:56 PM
  • Can't see any improvements after 2 years.

    On WP8.1, you can use the AppointmentCalendar class:

    http://msdn.microsoft.com/en-us/library/windows/apps/windows.applicationmodel.appointments.appointmentcalendar

    But probably (I am not sure) only in the universal apps.

    Friday, June 20, 2014 2:28 PM
  • Nice!

    Minimum supported phone:

    Windows Phone 8.1 [Windows Phone Silverlight 8.1 and Windows Runtime apps]

    Friday, June 20, 2014 2:49 PM
  • Yes I know,

    I am not happy too. But the only way at the moment, if you don't want a monthly work using the OneDrive API.

    Why ask something easy to Microsoft, if you can do it in a complicated way? And maybe, after 2-3 months of work, Microsoft will release WP8.2 and this class is not supported anymore and you can begin your work from zero.

    Friday, June 20, 2014 9:34 PM