Quantcast
Channel: Developer to developer
Viewing all 9076 articles
Browse latest View live

Adding another row of buttons to edit toolbar?

$
0
0

We're familiar with _GlobalToolbarCommandProvider and how to hook into it to add additional buttons to the global editing toolbar. 

We would however like to add an additional ROW to the editing toolbar, located BELOW the standard editing toolbar (with publish and breadcrumbs), with its own commands, and only when the editor is on a specific page type. To give you an example, I've mocked up a very quick, rough, and dirty idea of what it is we're trying to accomplish.

The purpose of the additional toolbar is to bring editor's attention to certain actions they can perform with the system (such as populate the page with default blocks, etc). It wouldn't toggle a boolean or change settings on the page, but rather allow executing predefined actions on various page types.

Currently our solution is spitting out the buttons on the page itself in edit mode, but would much prefer to have it be part of the epi toolbars. If there's a way to anchor an element in the editing view iframe to be sticky right beneath the main toolbar, that would work too...

I've tried understanding how the epi standard toolbar places itself in the editing view, but it looks like it's not as easily extensible as the global toolbar... or I'm just missing something :( 


Displaying data from child page ContentArea

$
0
0

Hi, am new new episerver cms - using version 11.

I have the following page structure in my procject:

+Root

   + Home

   + Landing Page

      + Sub Page ( of Landing Page )
      + Sub Page ( of Landing Page )

On my SubPage Type,  I have a 'Sections' property that i iterate through in the view. 

AllowedTypes(typeof(HeadingAndTextBlock))]
public virtual ContentArea Sections { get; set; }

The blocks have been added to the ContentArea section only.

My question(s) are:

  • How do I create links to blocks in other pages of the site and managed them in the cms?
  • On the Landing Page, how do I manage the content shown based on the blocks already created in the Sub Page(s) ContentArea property?

[Headig and Text Block]

[ContentType]
public class HeadingAndTextBlock : BlockData
{
[Display(Name = "Heading",
GroupName = SystemTabNames.Content)]
public virtual XhtmlString Heading { get; set; }
[Display(Name = "Sub Heading",
GroupName = SystemTabNames.Content)]
public virtual XhtmlString SubHeading { get; set; }
[Display(Name = "Bullet Points",
GroupName = SystemTabNames.Content)]
public virtual XhtmlString TextContent { get; set; }
}



[Page Type]

public class SubPage : GlobalBasePage
{

    [Display(Name = Global.Pages.SubPage.SUB_PAGE + " Sections")]
        [AllowedTypes(typeof(HeadingAndTextBlock))]
        public virtual ContentArea Sections { get; set; }

}
[ContentType(DisplayName = Global.Pages.LandingPage.LANDING, GroupName = SystemTabNames.Content)]
public class LandingPage : GlobalBasePage
{
[Display(Name = "Sub Page Links/References")]
[AllowedTypes(typeof(HeadingAndTextBlock), RestrictedTypes = new[] { typeof(HeadingAndTextBlock) })]
public virtual ContentReference Reference { get; set; }
/*  This is where im tring to link to other blocks in the sub page ^^   */
}

Any method to show the link in property view

$
0
0

Hello,

I am trying to add a property for the pages that updates on every loading of the property link. Somehow, i need the property to search and display the link of the page.

I tried to create a property with a custom get where to use the service location in order to find the link. The problem is that the custom get doesn't work at all (for example with a return "test").

Any idea about how can i do this?

How to update old page type properties

$
0
0

How do you convert old page type properties to new ones?

Say I have this class

public class HomePage : GlobalBasePage
{
[Display(Name = Global.Constants.VIDEOS,
GroupName = Global.Constants.VIDEOS
)]
[AllowedTypes(typeof(VideoFile))]
public virtual ContentArea VideoFiles { get; set; }
[Display(Name = "Heading")]
public virtual string Heading { get; set; }
}

and want to cahnge the string to XhtmlString and VideoFiles to a certain blcok

public class HomePage : GlobalBasePage
{
[Display(Name = Global.Constants.VIDEOS,
      GroupName = Global.Constants.VIDEOS
)]
[AllowedTypes(typeof(VideoAndTextBlock))]
public virtual ContentArea VideoAndTextBlocks { get; set; }


[Display( Name = "Heading")
public virtual XhtmlString Heading { get; set; }
}

If I go to episerver, log in and view this page in edit mode, these new property types do not reflect.

Why?

And what is the best way to convert them to the new types?

Converting Form Container Block

$
0
0

We have a system with a bunch of Epi Forms built for it. These forms are all using the default FormContainerBlock.

Recently we were asked to add a few properties to the default Form Container. Easy enough to do - for new forms.

To my knowledge, it is not possible to add a strongly typed property to a block which comes from a library.

How could we make sure that, when we deploy the change, _all_ forms would have the property?

The way the property is currently added is via extending FormContainerBlock and configuring its service type to IFormContainerBlock. With this in mind - how can we migrate all FormContainerBlock types to our CustomFormContainerBlock type?

Alternatively, if there's a way to add properties to block types in libraries, that would be acceptable as well.

Conflict In TinyMCESettings Configuration

$
0
0

I have just started to work on migrating an old project into EpiServer 11 but have hit a snag when trying to run the solution on my local development machine.  As soon as a debug of the solution is started an error screen appears with the message:

"Multiple property settings ([Some Value],[Some Other Value]) for the same settings type EPiServer.Editor.TinyMCE.TinyMCESettings with IsDefault = true."

Any help on how to overcome this issue would be much appreciated.

Upgrade to version 11: This request has probably been tampered with

$
0
0

Hi,

I am upgrading a solution from 7.5 to 11. So far I have got the solution working fine in version 10.10.4.
When trying to upgrade further to 11.3.2, I keep getting the classical "This request has probably been tampered with. Close the browser and try again.", with irregular intervals on localhost.

I am also trying to upgrade from MVC 4 to 5 when moving from v 10 to 11.

Has anyone experienced the same when upgrading to v 11 and found a solution?

Visitor groups with GeoLocation not working

$
0
0

Hi,

We have an EPiServer CMS application (v.10.10.4.0) that we host in azure (one staging and one production environment). They are setup to use ssl bindings. 

I've done the following in both our environments:

  • Created a visitor group that has an GeoLocation criteria. 
  • Personalized a page in an content area (using the GeoLocation criteria)
  • Given access to the visitor group using "Set access rights" in the admin panel (dunno if this is required?)

We're using the GeoLocationProvider that is shipped with EPiServer to try to personalize content.
We're filtering out content by using ContentArea.FilteredItems.

When I VPN to an NA server I can see that that the personalization is working in production, but it fails to do so in our staging environment. So I guess you'll be saying that there's a diff in our setup right? But I've checked every setting and it's the same as our production site (except host names, bindings etc - staging doesn't use www prefix). The code and EPiServer version is the same in both environments. The config is the same (except connectionStrings). So what am I missing? 

Should the GeoLocation work (out of the box) or is there something else I need to setup in config/code to get this working? Is there like a magic button in the CMS admin I forgot to press? 

I'm guessing that one part of the answer lies in the FilteredItems property, so if anyone has some deep knowledge about how the underlying code works (GetFilteredFragments, ISecurityDescriptor,  IRoleSecurityDescriptor) I'd be very interested in reading your input.  


SQL Server The Data Flow Sources in SSIS

$
0
0

SOURCES

A source in the SSIS Data Flow is where you specify the location of your source data. Most sources will point to a Connection Manager in SSIS. By pointing to a Connection Manager, you can reuse connections throughout your package, because you need only change the connection in one place.

SOURCE ASSISTANT AND DESTINATION ASSISTANT

The Source Assistant and Destination Assistant are two components designed to remove the complexity of configuring a source or a destination in the Data Flow. The components determine what drivers you have installed and show you only the applicable drivers. It also simplifies the selection of a valid connection manager based on the database platform you select that you wish to connect to.

In the Source Assistant or Destination Assistant (the Source Assistant is shown in below diagram), only the data providers that you have installed are actually shown. Once you select how you want to connect, you’ll see a list of Connection Managers on the right that you can use to connect to your selected source. You can also create a new Connection Manager from the same area on the right. If you uncheck the “Show only installed source types” option, you’ll see other providers like DB2 or Oracle for which you may not have the right software installed.

    

OLE DB Source

The OLE DB Source is the most common type of source, and it can point to any OLE DB–compliant Data Source such as SQL Server, Oracle, or DB2. To configure the OLE DB Source, double-click the source once you have added it to the design pane in the Data Flow tab. In the Connection Manager page of the OLE DB Source Editor (see below diagram), select the Connection Manager of your OLE DB Source from the OLE DB Connection Manager dropdown box. You can also add a new Connection Manager in the editor by clicking the New button.

The “Data access mode” option specifies how you wish to retrieve the data. Your options here are Table/View or SQL Command, or you can pull either from a package variable. Once you select the data access mode, you need the table or view, or you can type a query. For multiple reasons that will be explained momentarily, it is a best practice to retrieve the data from a query. This query can also be a stored procedure. Additionally, you can pass parameters into the query by substituting a question mark (?) for where the parameter should be and then clicking the Parameters button. You’ll learn more about parameterization of your queries in Chapter 5.

As with most sources, you can go to the Columns page to set columns that you wish to output to the Data Flow, as shown in below diagram. Simply check the columns you wish to output, and you can then assign the name you want to send down the Data Flow in the Output column. Select only the columns that you want to use, because the smaller the data set, the better the performance you will get.

 

From a performance perspective, this is a case where it’s better to have typed the query in the Connection Manager page rather than to have selected a table. Selecting a table to pull data from essentially selects all columns and all rows from the target table, transporting all that data across the network. Then, going to the Columns page and unchecking the unnecessary columns applies a client-side filter on the data, which is not nearly as efficient as selecting only the necessary columns in the SQL query. This is also gentler on the amount of buffers you fill as well.

Optionally, you can go to the Error Output page (shown in below diagram) and specify how you wish to handle rows that have errors. For example, you may wish to output any rows that have a data type conversion issue to a different path in the Data Flow. On each column, you can specify that if an error occurs, you wish the row to be ignored, be redirected, or fail. If you choose to ignore failures, the column for that row will be set to NULL. If you redirect the row, the row will be sent down the red path in the Data Flow coming out of the OLE DB Source.

The Truncation column specifies what to do if data truncation occurs. A truncation error would happen, for example, if you try to place 200 characters of data into a column in the Data Flow that supports only 100. You have the same options available to you for Truncation as you do for the Error option. By default, if an error occurs with data types or truncation, an error will occur, causing the entire Data Flow to fail.

Excel Source

The Excel Source is a source component that points to an Excel spreadsheet, just like it sounds. Once you point to an Excel Connection Manager, you can select the sheet from the “Name of the Excel sheet” dropdown box, or you can run a query by changing the Data Access Mode. This source treats Excel just like a database, where an Excel sheet is the table and the workbook is the database. If you do not see a list of sheets in the dropdown box, you may have a 64-bit machine that needs the ACE driver installed or you need to run the package in 32-bit mode. How to do this is documented in the next section in this chapter.

SSIS supports Excel data types, but it may not support them the way you wish by default. For example, the default format in Excel is General. If you rightclick a column and select Format Cells, you’ll find that most of the columns in your Excel spreadsheet have probably been set to General. SSIS translates this general format as a Unicode string data type. In SQL Server, Unicode translates into nvarchar, which is probably not what you want. If you have a Unicode data type in SSIS and you try to insert it into a varchar column, it will potentially fail. The solution is to place a Data Conversion Transformation between the source and the destination in order to change the Excel data types. You can read more about Data Conversion Transformations later in this chapter.

Excel 64-Bit Scenarios

If you are connecting to an Excel 2007 spreadsheet or later, ensure that you select the proper Excel version when creating the Excel Connection Manager. You will not be able to connect to an Excel 2007, Excel 2010, or Excel 2013 spreadsheet otherwise. Additionally, the default Excel driver is a 32-bit driver only, and your packages have to run in 32-bit mode when using Excel connectivity. In the designer, you would receive the following error message if you do not have the correct driver installed:

The ‘Microsoft.ACE.OLEDB.12.0’ provider is not registered on the local machine.

To fix this, simply locate this driver on the Microsoft site and you’ll be able to run packages with an Excel source in 64-bit.

Flat File Source

The Flat File Source provides a data source for connections such as text files or data that’s delimited. Flat File Sources are typically comma- or tabdelimited files, or they could be fixed-width or ragged-right. A fixed-width file is typically received from the mainframe or government entities and has fixed start and stop points for each column. This method enables a fast load, but it takes longer at design time for the developer to map each column. You specify a Flat File Source the same way you specify an OLE DB Source. Once you add it to your Data Flow pane, you point it to a Connection Manager connection that is a flat file or a multi-flat file. Next, from the Columns tab, you specify which columns you want to be presented to the Data Flow. All the specifications for the flat file, such as delimiter type, were previously set in the Flat File Connection Manager.

In this example, you’ll create a Connection Manager that points to a file called FactSales.csv, which you can download from this book’s website at WWW.WROX.COM/GO/PROSSIS2014. The file has a date column, a few string columns, integer columns, and a currency column. Because of the variety of data types it includes, this example presents an interesting case study for learning how to configure a Flat File Connection Manager.

First, right-click in the Connection Manager area of the Package Designer and select New Flat File Connection Manager. This will open the Flat File Connection Manager Editor, as shown in Figure 4-5. Name the Connection Manager Fact Sales and point it to wherever you placed the FactSales.csv file. Check the “Column names in the first data row” option, which specifies that the first row of the file contains a header row with the column names.

   

Another important option is the “Text qualifier” option. Although there isn’t one for this file, sometimes your comma-delimited files may require that you have a text qualifier. A text qualifier places a character around each column of data to show that any comma delimiter inside that symbol should be ignored. For example, if you had the most common text qualifier of double-quotes around your data, a row may look like the following, whereby there are only three columns even though the commas may indicate five:

“Knight,Brian”, 123, “Jacksonville, FL”

In the Columns page of the Connection Manager, you can specify what will delimit each column in the flat file if you chose a delimited file. The row delimiter specifies what will indicate a new row. The default option is a carriage return followed by a line feed. The Connection Manager’s file is automatically scanned to determine the column delimiter and, as shown in Figure 4-6, use a tab delimiter for the example file.

   

NOTE Often, once you make a major change to your header delimiter or your text qualifier, you’ll have to click the Reset Columns button. Doing so requeries the file in order to obtain the new column names. If you click this option, though, all your metadata in the Advanced page will be recreated as well, and you may lose a sizable amount of work.

The Advanced page of the Connection Manager is the most important feature in the Connection Manager. In this tab, you specify the data type for each column in the flat file and the name of the column, as shown in Figure 4-7. This column name and data type will be later sent to the Data Flow. If you need to change the data types or names, you can always come back to the Connection Manager, but be aware that you need to open the Flat File Source again to refresh the metadata.

   

NOTE Making a change to the Connection Manager’s data types or columns requires that you refresh any Data Flow Task using that Connection Manager. To do so, open the Flat File Source Editor, which will prompt you to refresh the metadata of the Data Flow. Answer yes, and the metadata will be corrected throughout the Data Flow.

If you don’t want to specify the data type for each individual column, you can click the Suggest Types button on this page to have SSIS scan the first 100 records (by default) in the file to guess the appropriate data types. Generally speaking, it does a bad job at guessing, but it’s a great place to start if you have a lot of columns.

If you prefer to do this manually, select each column and then specify its data type. You can also hold down the Ctrl key or Shift key and select multiple columns at once and change the data types or column length for multiple columns at the same time.

A Flat File Connection Manager initially treats each column as a 50-character string by default. Leaving this default behavior harms performance when you have a true integer column that you’re trying to insert into SQL Server, or if your column contains more data than 50 characters of data. The settings you make in the Advanced page of the Connection Manager are the most important work you can do to ensure that all the data types for the columns are properly defined. You should also keep the data types as small as possible. For example, if you have a zip code column that’s only 9 digits in length, define it as a 9-character string. This will save an additional 41 bytes in memory multiplied by however many rows you have.

A frustrating point with SSIS sometimes is how it deals with SQL Server data types. For example, a varchar maps in SSIS to a string column. It was designed this way to translate well into the .NET development world and to provide an agnostic product. The following table contains some of the common SQL Server data types and what they are mapped into in a Flat File Connection Manager.

    

FastParse Option

By default, SSIS issues a contract between the Flat File Source and a Data Flow. It states that the source component must validate any numeric or date column. For example, if you have a flat file in which a given column is set to a four-byte integer, every row must first go through a short validation routine to ensure that it is truly an integer and that no character data has passed through. On date columns, a quick check is done to ensure that every date is indeed a valid in-range date.

This validation is fast but it does require approximately 20 to 30 percent more time to validate that contract. To set the FastParse property, go into the Data Flow Task for which you’re using a Flat File Source. Right-click the Flat File Source and select Show Advanced Editor. From there, select the Input and Output Properties tab, and choose any number or date column under Flat File Output ⇒ Output Columns tree. In the right pane, change the FastParse property to True, as shown in below diagram.

  

MultiFlatFile Connection Manager

If you know that you want to process a series of flat files in a Data Flow, or you want to refer to many files in the Control Flow, you can optionally use the MultiFlatFile or “Multiple Flat File Connection Manager.” The Multiple Flat File Connection Manager refers to a list of files for copying or moving, or it may hold a series of SQL scripts to execute, similar to the File Connection Manager. The Multiple Flat File Connection Manager gives you the same view as a Flat File Connection Manager, but it enables you to point to multiple files. In either case, you can point to a list of files by placing a vertical bar (|) between each filename:

C:Projects?11305c.dat|C:Projects?53105c.dat

In the Data Flow, the Multiple Flat File Connection Manager reacts by combining the total number of records from all the files that you have pointed to, appearing like a single merged file. Using this option will initiate the Data Flow process only once for the files whereas the Foreach Loop container will initiate the process once per file being processed. In either case, the metadata from the file must match in order to use them in the Data Flow. Most developers lean toward using Foreach Loop Containers because it’s easier to make them dynamic. With these Multiple File or Multiple Flat File Connection Managers, you have to parse your file list and add the vertical bar between them. If you use Foreach Loop Containers, that is taken care of for you.

Raw File Source

The Raw File Source is a specialized type of file that is optimized for reading data quickly from SSIS. A Raw File Source is created by a Raw File Destination (discussed later in this chapter). You can’t add columns to the Raw File Source, but you can remove unused columns from the source in much the same way you do in the other sources. Because the Raw File Source requires little translation, it can load data much faster than the Flat File Source, but the price of this speed is little flexibility. Typically, you see raw files used to capture data at checkpoints to be used later in case of a package failure.

These sources are typically used for cross-package or cross-Data Flow communication. For example, if you have a Data Flow that takes four hours to run, you might wish to stage the data to a raw file halfway through the processing in case a problem occurs. Then, the second Data Flow Task would continue the remaining two hours of processing.

XML Source

The XML source is a powerful SSIS source that can use a local or remote (via HTTP or UNC) XML file as the source. This source component is a bit different from the OLE DB Source in its configuration. First, you point to the XML file locally on your machine or at a UNC path. You can also point to a remote HTTP address for an XML file. This is useful for interaction with a vendor. This source is also very useful when used in conjunction with the Web Service Task or the XML Task. Once you point the data item to an XML file, you must generate an XSD (XML Schema Definition) file by clicking the Generate XSD button or point to an existing XSD file. The schema definition can also be an in-line XML file, so you don’t necessarily need an XSD file. Each of these cases may vary based on the XML that you’re trying to connect. The rest of the source resembles other sources; for example, you can filter the columns you don’t want to see down the chain.

ADO.NET Source

The ADO.NET Source enables you to make a .NET provider a source and make it available for consumption inside the package. The source uses an ADO.NET Connection Manager to connect to the provider. The Data Flow is based on OLE DB, so for best performance, using the OLE DB Source is preferred. However, some providers might require that you use the ADO.NET source. Its interface is identical in appearance to the OLE DB Source, but it does require an ADO.NET Connection Manager.

[Pasting files is not allowed][Pasting files is not allowed]

Inform editor when deleting a page if other pages use its body text etc. Existing or new function?

$
0
0

Hi,

There is a function in Episerver that informs an editor that he's about to delete a page that other pages link to. Is there also a function that informs the editor if he's about to delete a page whose body text etc some other page gets/uses (dynamic function)?

If there is no such function, how can I create one?

Thank you!

Best or Recommended method to pass data to a Form?

$
0
0

Im looking to create a setup where a user views some program information, and after clicking a "request more info" button, it sends them (and some info on where they came from) to a contact page. Is this possible using the out of box Forms? Or is this something better created from scratch? Any ideas would be appreciated! 

Is there a setting to automatically remove properties from block/page types when they are removed from code.

$
0
0

I'm working on my first EPI Server project and I have noticed that when I create a property on a 'Page Type' in C# Code, compile it, I can see the properties in Episerver.

However when I then delete that property in code the property still appears in the back office, and I have to manually delete it in the admin section.

Is there a setting in Epi server that will automatically delete properties from the EPI server database when they are removed from code? It seems very strange that you would have to delete the properties one by one every time you make a change to a Page Type.

How to Determine the current page from the current block on that page?

$
0
0

Hi Guys,

I have a block on a page in Episerver, (content area) - from within the controller for the block how can I determin the node that represents the page that this block appares?

Customize Telerik RadCartesianChart XMLDataProvider

$
0
0

I have WPF application RadCartesianChart 

This is the code of one of them......

  <telerik:RadCartesianChart x:Name="RadChart1"     Palette="Windows8"  DataContext="{Binding XPath=/Nodes/Node,Source={StaticResource xml_Chart}}">

            <telerik:RadCartesianChart.HorizontalAxis>
                <telerik:CategoricalAxis Background="#FFF50000" />
            </telerik:RadCartesianChart.HorizontalAxis>
            <telerik:RadCartesianChart.VerticalAxis>
                <telerik:LinearAxis />
            </telerik:RadCartesianChart.VerticalAxis>
            <telerik:RadCartesianChart.Series>
                <telerik:BarSeries CategoryBinding="{Binding XPath=@shortTime}"
                                   ValueBinding="{Binding XPath=Item/@value}"
                                   ItemsSource="{Binding}"  ShowLabels="True">
                </telerik:BarSeries>
            </telerik:RadCartesianChart.Series>
       </telerik:RadCartesianChart>
     =============================================================

I want to work with xml..

<telerik:BarSeries CategoryBinding="{Binding XPath=@shortTime}"
                                   ValueBinding="{Binding XPath=Item/@value}"
                                   ItemsSource="{Binding}"  ShowLabels="True">
                </telerik:BarSeries>

I can not run it. Help..... Thanks.

How to define two BlogType criteria in one EntryQuery

$
0
0

I have a query to retrieve blogs of BlogType.UserBlog;

EntryQuery entryQuery = new EntryQuery();
entryQuery.Blog = new BlogCriterion();
entryQuery.Blog.BlogType = new BlogTypeCriterion();
entryQuery.Blog.BlogType.Value = BlogType.UserBlog; 
EntryCollection entries = QueryHandler.Instance.GetQueryResult<Entry, EntryCollection>(entryQuery, TimeSpan.MinValue, 1, int.MaxValue, out totalItems);

Now, I need to retrieve Blogs of both BlogType.UserBlog AND BlogType.ClubNews. 

Can I define two BlogType values in the same query?


TinyMCE after update causing errors

$
0
0

Hello everyone,

I have updated episerver to 11.3.3.0 and installed from nuget tinymce package EpiServer.CMS.TinyMce (version 1.0.0.0).

now everytime I want to see a page properties in the admin panel, if a page has the property of type XhtmlString, for instance (public virtual XhtmlString Footer), I am not able to see any properties at all with the error (any page that does not have such  a property XhtmlString is loading fine):

Unable to find a module by assembly 'EPiServer.DynamicContent, Version=1.0.1.0, Culture=neutral, PublicKeyToken=8fe83dea738b45b7'
Parameter name: moduleAssembly

I have verified that EpiServer.DynamicContent dll of that version is installed and actually in bin directory for the run time.

I have unistalled and installed again the tinyMce. 

Here is the log for the tinyMCE installation:

Executing script file 'C:\CODE\AirVeriskEpiServer\packages\EPiServer.CMS.TinyMce.1.0.0\tools\Install.ps1'...
Exception calling "Load" with "1" argument(s): "Could not find file
'\Air.Core\web.config'."At
\packages\EPiServer.CMS.TinyMce.1.0.0\tools\Install.ps1:14 char:1
+ $config.Load($configPath)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException

You cannot call a method on a null-valued expression.At
\packages\EPiServer.CMS.TinyMce.1.0.0\tools\Update-AssemblyBinding.psm1:116 char:9
+ $parent.AppendChild($child) | Out-Null
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull

Adding binding redirect for EPiServer.Cms.TinyMce .
You cannot call a method on a null-valued expression.At
\packages\EPiServer.CMS.TinyMce.1.0.0\tools\Update-AssemblyBinding.psm1:96 char:9
+ $assemblyBinding.AppendChild($assemblyConfig) | Out-Null
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull

Exception calling "Save" with "1" argument(s): "Invalid XML document. The document does not have a root element."At
packages\EPiServer.CMS.TinyMce.1.0.0\tools\Install.ps1:19 char:1
+ $config.Save($configPath)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException

Successfully installed 'EPiServer.CMS.TinyMce 1.0.0' to Air.Core
========== Finished ==========

it says it is insalled successfully.. 

any suggestion how to resolve this issue will be very much appreciated. 
Thanks! 

How to open the media library for picking up the root content reference element?

$
0
0

Hello,

I wonder how I can open the media library for picking up the root content reference element from the admin tool I am developing?

Same goes how to open the pages explorer, so i can set up the root  content reference for the pages.

thank you for any pointers,

HF

How to select Items from List<IContent> based on the ContentType

$
0
0

Hi guys,

I have a list of IContent Items, I know that one of the items will be of a particular type.

Currently I am getting this Item with this code:

var result = ancestors.SingleOrDefault(x => x.ContentTypeID == 104);

I know the name of MyType how can do this without an hard coded Id?

If this number is diffrent in mulitiple enviorments the code will fail, can anyone show me how to do this?

Get page name from Content ID (direct from database)

$
0
0

Hi All,

I know this is easily done from code, but i'm looking directly at the database with SQL.

I have the content ID and I want to find the page name from this, and if possible the page type name too.

Does anyone have a query that would get me this? Or even which tables I should be looking in?

Thanks,

Sam

Redirect all URLs so they end with /

Viewing all 9076 articles
Browse latest View live