Request to get default ical calendar - icloud

To get calendar ical calendar list my request is :
<d:propfind xmlns:d='DAV:' xmlns:cs='{0}' xmlns:c='urn:ietf:params:xml:ns:caldav'>
<d:prop>
<d:resourcetype />
<d:displayname />
<cs:getctag />
<c:supported-calendar-component-set />
<d:current-user-privilege-set/>
<d:calendar-access />
<c:schedule-default-calendar-URL />
</d:prop>
</d:propfind>
In Icloud we have option to set default calendar
login to icloud.com -> calendar -> settings -> prefereces -> default
Please tell me which caldav request will return response of this property value in my code.

Related

Can't get process start variables

I'm trying to get process start variables via rest, but I can't receive any start variable.
When i try:
http://192.168.30.1:8080/engine-rest/process-definition/key/invoice/form-variables
I got only this:
{}
How to get process start variables?
Thats because the resource Get Start Form Variables only supports Generated Start Forms.
The invoice process uses Embedded Start Form. The start event of the invoice process references an external HTML file, which is used to render the Start form.
See here:
<startEvent id="StartEvent_1" name="Invoice
received" camunda:formKey="embedded:app:forms/start-form.html">
<outgoing>SequenceFlow_1</outgoing>
</startEvent>
If you want to receive the start form variables, the start event of the process must be look like the following example:
<startEvent id="start">
<extensionElements>
<camunda:formData>
<camunda:formField id="stringField" label="String Field" type="string" defaultValue="someString">
<camunda:validation>
<camunda:constraint name="maxlength" config="10" />
<camunda:constraint name="minlength" config="5" />
</camunda:validation>
</camunda:formField>
<camunda:formField id="longField" label="Long Field" type="long" defaultValue="5">
<camunda:validation>
<camunda:constraint name="max" config="10" />
<camunda:constraint name="min" config="3" />
</camunda:validation>
</camunda:formField>
<camunda:formField id="customField" label="Custom Field" type="string">
<camunda:validation>
<camunda:constraint name="validator" config="org.camunda.bpm.engine.test.api.form.CustomValidator" />
</camunda:validation>
</camunda:formField>
<camunda:formField id="dateField" label="Date Field" type="date" defaultValue="10/01/2013" />
</camunda:formData>
</extensionElements>
</startEvent>
See here for the complete example process.
In that case the FormService can resolve the form variables and the request will return the defined variables.

SAPUI5 List CustomListItem / Rerender Issue

I got a split-app, left Hand side a master list with persons. right-hand side a Detail page with info and RatingIndicator element. Two lists on the detail-page which are bound via associations: /Master/Detail/Rating.
Whenever I use the Rating Indicator, it seems like the page is rerendering, which makes everything slow at the end. I tried both, two-way binding and one-way-binding with manually updating the model. It still rerenders/reloads the page every time I use the Rating indicator.
Any idea someone?
SAPUI5 library is on Version 1.28.31.
Edit: In the meantime I reduced complexity (no lists within lists, thought this might be the issue, but it isnt), and still the issue occurs. Even now when I use the Rating indicator the whole Detail page reloads/rerenders.
What can I do?
Before Clicking the Rating indicator:
Directly after cliking the Rating indicator, right-hand Detail page disappears and reappears withing seconds.
View:
<mvc:View controllerName="split.controller.Detail" xmlns="sap.m"
xmlns:core="sap.ui.core" xmlns:mvc="sap.ui.core.mvc" xmlns:footerbar="sap.ushell.ui.footerbar"
xmlns:f="sap.ui.layout.form" xmlns:l="sap.ui.layout">
<Page id="page" navButtonPress="onNavBack" showNavButton="{device>/system/phone}"
title="{i18n>detailTitle}" busy="{detailView>/busy}"
busyIndicatorDelay="{detailView>/delay}" class="sapUiResponsiveContentPadding">
<content>
<List items="{ path: 'WorklistToDocument' }">
<CustomListItem>
<VBox class="sapUiSmallMargin" }">
<Title titleStyle="H3" text="{Title}" }" />
<Text text="{Description}" }" />
</VBox>
<VBox class="sapUiSmallMargin">
<Text text="{Description}" />
<CheckBox selected="{NotApplicable}" select="onNACheckBoxSelect" />
<RatingIndicator value="{RatingValue}" maxValue="{MaxValue}" change="onRatingChanged" />
<Text
text="{ path: 'RatingValue', formatter: '.formatter.ratingText' }" />
</VBox>
</CustomListItem>
</List>
</content>
</Page>
Controller:
onRatingChanged: function(oEvent) {
var oSource = oEvent.getSource();
var oModel = this.getModel();
var sPath = oSource.getBindingContext().sPath;
var sCtxPath = sPath + "/RatingValue";
var sCtxPathNA = sPath + "/NotApplicable";
var iValue = oEvent.getParameter("value");
oModel.setProperty(sCtxPath, iValue);
oModel.setProperty(sCtxPathNA, false);
},
Is this line
var sCtxPath = sPath + "/RatingValue";
not leading to another "change" event trigger?
Additionally, is there a loop in your formatter that could cause a 'hang'?
And what about any events in your master with the same odata path?

ad user not able to login even on assiging sitecore\Sitecore Client Users role

I have integrated active directory module with sitecore, I am able to see the users from ad in sitecore user manager. Now i want to verify if the ad user can login to sitecore. I assigned sitecore\Sitecore Client Users role for the user and tried to login as
Username: domain\username
Password: pw
I see a wierd error when login button is hit. Below is the error.
But when i check the set as administrator check box for this user, i am able to login with
Username: domain\username
Password: pw
Any help is appreciated.
Thanks.
Server Error in '/' Application.
Creating an instance of the COM component with CLSID {080D0D78-F421-11D0-A36E-00C04FB950DC} from the IClassFactory failed due to the following error: 800401e4 Invalid syntax (Exception from HRESULT: 0x800401E4 (MK_E_SYNTAX)).
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Runtime.InteropServices.COMException: Creating an instance of the COM component with CLSID {080D0D78-F421-11D0-A36E-00C04FB950DC} from the IClassFactory failed due to the following error: 800401e4 Invalid syntax (Exception from HRESULT: 0x800401E4 (MK_E_SYNTAX)).
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[COMException (0x800401e4): Creating an instance of the COM component with CLSID {080D0D78-F421-11D0-A36E-00C04FB950DC} from the IClassFactory failed due to the following error: 800401e4 Invalid syntax (Exception from HRESULT: 0x800401E4 (MK_E_SYNTAX)).]
System.Web.Security.DirectoryInformation.GetADsPath(String dn) +108
System.Web.DataAccess.ActiveDirectoryConnectionHelper.GetDirectoryEntry(DirectoryInformation directoryInfo, String objectDN, Boolean revertImpersonation) +42
System.Web.Security.ActiveDirectoryMembershipProvider.ValidateUserCore(String username, String password) +1970
System.Web.Security.ActiveDirectoryMembershipProvider.ValidateUser(String username, String password) +39
LightLDAP.SitecoreADMembershipProvider.ValidateUser(String username, String password) +193
Sitecore.Data.DataProviders.NullRetryer.Execute(Func`1 action, Action recover) +394
Sitecore.Security.SitecoreMembershipProvider.ValidateUser(String username, String password) +319
System.Web.UI.WebControls.Login.AuthenticateUsingMembershipProvider(AuthenticateEventArgs e) +105
System.Web.UI.WebControls.Login.AttemptLogin() +160
System.Web.UI.WebControls.Login.OnBubbleEvent(Object source, EventArgs e) +93
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +84
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3804
I came across similar issue for my one of my web app.
If you are still facing this problem, you can fix this by going to Advanced Settings of the IIS App pool of your application and setting "Load User Profile" option to True.
#MattGartman here are the membership and role poviders
<membership defaultProvider="sitecore" hashAlgorithmType="SHA1">
<providers>
<clear />
<add name="sitecore" type="Sitecore.Security.SitecoreMembershipProvider, Sitecore.Kernel" realProviderName="switcher" providerWildcard="%" raiseEvents="true" />
<add name="sql" type="System.Web.Security.SqlMembershipProvider" connectionStringName="core" applicationName="sitecore" minRequiredPasswordLength="1" minRequiredNonalphanumericCharacters="0" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="256" />
<add name="switcher" type="Sitecore.Security.SwitchingMembershipProvider, Sitecore.Kernel" applicationName="sitecore" mappings="switchingProviders/membership" />
<add name="ad" type="LightLDAP.SitecoreADMembershipProvider" connectionStringName="ADConnString" applicationName="sitecore" minRequiredPasswordLength="1" minRequiredNonalphanumericCharacters="0" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" connectionUsername="domain\username" connectionPassword="pw" connectionProtection="Secure" attributeMapUsername="sAMAccountName" enableSearchMethods="true" customFilter="(memberOf=CN=RegionsComSitecore,OU=Groups,DC=c,DC=pk,DC=com)" />
</providers>
</membership>
<roleManager defaultProvider="sitecore" enabled="true">
<providers>
<clear />
<add name="sitecore" type="Sitecore.Security.SitecoreRoleProvider, Sitecore.Kernel" realProviderName="switcher" raiseEvents="true" />
<add name="sql" type="System.Web.Security.SqlRoleProvider" connectionStringName="core" applicationName="sitecore" />
<add name="switcher" type="Sitecore.Security.SwitchingRoleProvider, Sitecore.Kernel" applicationName="sitecore" mappings="switchingProviders/roleManager" />
<add name="ad" type="LightLDAP.SitecoreADRoleProvider" connectionStringName="ADConnString" applicationName="sitecore" username=" domain\username" password="pw" attributeMapUsername="sAMAccountName" cacheSize="2MB" customFilter="(memberOf=CN=RegionsComSitecore,OU=Groups,DC=c,DC=pk,DC=com)" />
</providers>
</roleManager>
here is the ldap.config
<pipelines>
<initializeAdUserEntry>
<!--
Use the processor if all new user should have a predefiled value in a property.
The PropertyName parameter defines the name of the property.
The DefaultValue parameter defines the default value of the property.
-->
<!--
<processor type="LightLDAP.Pipelines.InitializeAdEntry.SetPropertyValue, LightLDAP">
<PropertyName desc="AD property name ">type the property name here</PropertyName>
<DefaultValue desc="AD property name ">type the default property value here</DefaultValue>
</processor>
-->
<!--
Use the processor if all new roles should be a member of the predefined role.
The RoleName parameter defines the name of the main role.
-->
<!--
<processor type="LightLDAP.Pipelines.InitializeAdEntry.AddToRole, LightLDAP">
<RoleName desc="AD group">type role name here</RoleName>
</processor>
-->
<processor type="LightLDAP.Pipelines.InitializeAdEntry.CommitChanges, LightLDAP"/>
</initializeAdUserEntry>
<initializeAdRoleEntry>
<!--
Use the processor if all new user should have a predefiled value in a property.
The PropertyName parameter defines the name of the property.
The DefaultValue parameter defines the default value of the property.
-->
<!--
<processor type="LightLDAP.Pipelines.InitializeAdEntry.SetPropertyValue, LightLDAP">
<PropertyName desc="AD property name ">type the property name here</PropertyName>
<DefaultValue desc="AD property value ">type the default property value here</DefaultValue>
</processor>
-->
<!--
Use the processor if all new roles should be a member of the predefined role.
The RoleName parameter defines the name of the main role.
-->
<!--
<processor type="LightLDAP.Pipelines.InitializeAdEntry.AddToRole, LightLDAP">
<RoleName desc="AD group">type role name here</RoleName>
</processor>
-->
<processor type="LightLDAP.Pipelines.InitializeAdEntry.CommitChanges, LightLDAP"/>
</initializeAdRoleEntry>
</pipelines>
<settings>
<!-- Defines the logging level of the module. If true, dumps every action entry into the log.
Default is false
-->
<setting name="LDAP.Debug" value="true" />
<!-- Defines if the configuration assumes indirect membership on common operations.
This setting affects the membership verification during login and user access check.
Default is false
-->
<setting name="LDAP.IncludeIndirectMembership" value="false" />
<!-- Defines if a certain profile should be applied for each user by default.
If the setting is not specified or is empty, no particular profile item is used.
Default is ""
-->
<!-- ENABLE SORT OPERATION
Determines whether the sorting is enabled
-->
<setting name="LDAP.EnableSorting" value="false" />
<!-- Default Sort Key-->
<setting name="LDAP.SortKey" value="codePage" />
<!-- LDAP GET ALL USERS SIZE LIMIT
Determines the max number of returned users for GetAll method
-->
<setting name="LDAP.SizeLimit" value="1000" />
<!-- LDAP FIND USERS SIZE LIMIT
Determines the max number of returned users for GetAll method
-->
<setting name="LDAP.FindSizeLimit" value="100" />
<!-- LDAP USER CACHE SIZE
Determines the size of the ldap users cache.
Specify the value in bytes or append the value with KB, MB or GB
A value of 0 (zero) disables the cache.
-->
<setting name="LDAP.Caching.UserCache" value="2MB" />
<!-- LDAP MEMBEROF CACHE SIZE
Determines the size of the ldap users cache.
Specify the value in bytes or append the value with KB, MB or GB
A value of 0 (zero) disables the cache.
-->
<setting name="LDAP.Caching.MemberOfCache" value="2MB" />
<!-- LDAP MEMBERS CACHE SIZE
Determines the size of the ldap users cache.
Specify the value in bytes or append the value with KB, MB or GB
A value of 0 (zero) disables the cache.
-->
<setting name="LDAP.Caching.MembersCache" value="2MB" />
<!-- SETTINGS PROPERTY VALUE FACTORY
Returns an SettingsPropertyValueFactory interface that resolves the active directory properties.
-->
<setting name="LDAP.SettingsPropertyValueFactory" value="LightLDAP.SettingsPropertyValueFactory, LightLDAP" />
<!-- RECONNECT PERIOD
Determines a reconnect period for attempts to restore connection after the connection gets break.
-->
<setting name="LDAP.ReconnectPeriod" value="0.00:00:10" />
<!-- TIME OUT NOTIFICATION
Determines a timeout for notification.
-->
<setting name="LDAP.NotificationTimeOut" value="1.00:00:00" />
<!-- FULL NAME PROPERTY NAME
Determines the full name property mapping.
-->
<setting name="LDAP.FullName" value="ad|unicode string|displayName" />
<!-- DELETE USER SCOPE
Determines the scope of the "delete user" operation.
-->
<setting name="LDAP.DeleteScope" value="Subtree" />
<!-- MAX VALUE RANGE
Determines the maximal value of an AD range attribute.
-->
<setting name="LDAP.MaxValueRange" value="1500" />
</settings>
For AD Enabled login, try login from /sitecore/admin/ldaplogin.aspx page.
I know this question is old, but I've had this issue recently and spent quite a bit of time researching the cause and solution via Microsoft docs, etc. There is sometimes an issue caused by the IIS refresh process when trying to access certain interfaces within com objects that are dynamically loaded from various DLL written in C++. These kind of DLLs/interfaces can be tricky and confusing. I have found that the best solution is to avoid some calls to the User Group principal objects that are given by this interface. If you are calling a method that looks something like: [Some user object].IsMemberOf([Some group object]). Try changing the code to avoid calling any function on the user object. From the example above, you could change the code to look like this:
foreach (var user in [Some group object].GetUsers())
{
if (user.SamAccountName == [Some user object].SamAccountName)
{
// Do your work here
}
}
Of course, the operations that you are performing in your code may not be the same as my example above, but hopefully that gives a basic understanding of the type of operations you may need to avoid.

ASP.Net login control will not work with Intelligencia.UrlRewriter

I hope someone can help me shed some light on this nightmare I'm having...!
I have just complete an ASP.Net e-commerce website with the help of an Apress book; The BalloonShop project, some of you might already know the one.
Everything is fine and dandy apart from one niggle that I cant seen to sort out!
I cannot logout from my site using the asp.net login control from any page that does not have the .aspx extension in the Url. This is namely; Departments, Category and Products as these are using the Intelligencia.UrlRewriter to provide browser friendly url's.
My url's are rewritten perfectly, but when I try to logout from a page that is using the url rewriter it does not work, and I receive the following message in my error log email:
Exception generated on 22 February 2013, at 22:23
Page location: /Triple-x/Dynamo-p4/?
<div id=":143">ProductId=4
Message: The HTTP verb POST used to access path '/Triple-x/Dynamo-p4/' is not allowed.
Source: System.Web
Method: System.IAsyncResult BeginProcessRequest(System.Web.HttpContext, System.AsyncCallback, System.Object)
Stack Trace:
at System.Web.DefaultHttpHandler.BeginProcessRequest(HttpContext context, AsyncCallback callback, Object state)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionSt ep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)</div>
In my web.config if have:
<configSections>
<section name="rewriter" requirePermission="false" type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler,Intelligencia.UrlRewriter" />
</configSections>
<rewriter>
<!-- Rewrite department pages -->
<rewrite url="^.*-d([0-9]+)/?$" to="~/Catalog.aspx?DepartmentID=$1" processing="stop" />
<rewrite url="^.*-d([0-9]+)/page-([0-9]+)/?$" to="~/Catalog.aspx?DepartmentID=$1&Page=$2" processing="stop" />
<!-- Rewrite category pages -->
<rewrite url="^.*-d([0-9]+)/.*-c([0-9]+)/?$" to="~/Catalog.aspx?DepartmentId=$1&CategoryId=$2" processing="stop" />
<rewrite url="^.*-d([0-9]+)/.*-c([0-9]+)/page-([0-9]+)/?$" to="~/Catalog.aspx?DepartmentId=$1&CategoryId=$2&Page=$3" processing="stop" />
<!-- Rewrite product details pages -->
<rewrite url="^.*-p([0-9]+)/?$" to="~/Product.aspx?ProductId=$1" processing="stop" />
</rewriter>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules>
<add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule" />
<remove name="ScriptModule" />
<!--<add name="ScriptModule" preCondition="managedHandler" />-->
</modules>
</system.webServer>
I am also using IIS7 on my local machine, and have read that this can sometimes be the cause re: AppPool version. I have tried changing this to Classic ASP as suggested, but this did not work for me!
Does anyone know if this is a common problem when hosting on local machine and using Intelligencia.UrlRewriter? Would this possibly not be an issue if hosting on a shared web hosting server?
If I'm way off the mark then please forgive my naivety, as I am still quite new to this, especially projects of this size.
Thanks for you help!!
If you want to use url rooting you can use this codes. I use it also an e-commerce project:
in Global.asax file :
void Application_Start(object sender, EventArgs e)
{
if (RouteTable.Routes.Count <= 0)
{
RouteTable.Routes.Add("Urun", new Route("Urun/{category}/{name}/{prid}/{caid}", new PageRouteHandler("~/ProductDetail.aspx")));
RouteTable.Routes.Add("Kategori", new Route("Kategori/{upper}/{name}/{caid}", new PageRouteHandler("~/Categories.aspx")));
RouteTable.Routes.Add("Icerik", new Route("Icerik/{name}/{cpid}", new PageRouteHandler("~/ContentPage.aspx")));
}
}
And you can this codes wherever you want to give link:
var param = new RouteValueDictionary
{
{"category", "Oyuncak"},
{"prid", ((DiscountProductsResult) e.Item.DataItem).ProductId},
{"name", ((DiscountProductsResult) e.Item.DataItem).UrlView.Replace(" ", "-")},
{"caid", 0}
};
VirtualPathData path = RouteTable.Routes.GetVirtualPath(null, "Urun", param);
And you can get querystring values like this:
RouteData.Values["caid"]

Sitecore send workflow emails

I want to configure Sitecore Workflow engine for email sending.
I had a look into the "Email Action" implementation using Reflector,
It reads "mail server" from argument as follows.
string host = this.GetText(innerItem, "mail server", args);
Don't we need to provide credentials(Username/Password) for mailserver? Or does it take mail configuration from the webconfig?
I have not tried email sending with Workflow yet, Please help me to configure email sending module.
Thanks
Sitecore reads the mailserver settings from the following properties in the web.config:
<setting name="MailServer" value="your.mailserver.com" />
<!-- MAIL SERVER USER
If the SMTP server requires login, enter the user name in this setting
-->
<setting name="MailServerUserName" value="" />
<!-- MAIL SERVER PASSWORD
If the SMTP server requires login, enter the password in this setting
-->
<setting name="MailServerPassword" value="" />
<!-- MAIL SERVER PORT
If the SMTP server requires a custom port number, enter the value in this setting.
The default value is: 25
-->
<setting name="MailServerPort" value="25" />
This should be enough to send emails from Sitecore and webforms.
Yes. It reads your mail settings from the web.config. In addition to all of the Sitecore mail settings you need to configure you should also add the generic ASP.NET mailSetting at the bottom of your web.config.
<system.net>
<mailSettings>
<smtp>
<network host="127.0.0.1" />
</smtp>
</mailSettings>
</system.net>