CRM Software - CABC | Maximizer | Maximizer Add-ons | Services | Support | Store | News

    Buy Maximizer Products and Services On-Line at CRMshop.co.uk
CABC    Maxtalk  Hop To Forum Categories  Maximizer & The Internet  Hop To Forums  Maximizer Web Portals    Maximizer 9 Portals
Go
New
Find
Notify
Tools
Reply
  
-star Rating Rate It!  Login/Join 
Member
Posted
My company is a regular user of Maximizer and recently started using the Customization Suite for Maximizer 9.

We have set up test servers - one for the portals, one for the Maximizer server, etc. - to play around with adding new functionality.

Currently I (C# developer) am running into some problems trying to add pages and tabs etc., to the existing portals. Beyond what's in the Portal Guide, I haven't found any information on the web.

If you're in a similar situation or if you have experience with developing for the version 9 Customization Suite, feel free to contact me at maxstark@xs4all.nl (or reply here)
 
Posts: 10 | Registered: October 13, 2006Reply With QuoteReport This Post
Member
Posted Hide Post
Ok Smile

I've managed to add custom ASP.NET pages to the Customer Portal. I now want to show customer-specific information to the user that signs in, e.g. Mary Smart in the Escona Tutorial.

The first problem I've run in to here, and haven't been able to solve, is how to identify the currently logged in user.

The most obvious route to take here (I think) is to look into the session state:
Maximizer.Data.User loggedInUser = (Maximizer.Data.User) Session["loggedInUser"];

However, when I then look at the contents of the loggedInUser object, it seems we have found the WEBUSER instead of Mary (detail fields blank, userid=WEBUSER). I can't proceed to show the customer her registered phone number, for instance.

I'll post more info on this problem later. For now I hope anyone has useful thoughts Smile
 
Posts: 10 | Registered: October 13, 2006Reply With QuoteReport This Post
Member
Posted Hide Post
Done and solved!

Anyone ( _ANYONE_ Smile ) developing for the Maximizer 9 ECRM web portals is invited to email or reply. Let's form a community!
 
Posts: 10 | Registered: October 13, 2006Reply With QuoteReport This Post
Member
Posted Hide Post
Here's the code (C#) I used to solve the problem:

// ------------------------------------------

// declare variables
Maximizer.Data.AddressBookMaster oAb;
Maximizer.Data.AbEntryAccess oAbEntryAccess;
Maximizer.Data.AbEntry abe;
string sLoginString;

// get the current address book from session state
oAb = (Maximizer.Data.AddressBookMaster)Session["maxAb"];

// create addressbook entry access
sLoginString = Session["loginstring"] as string;
oAbEntryAccess = oAb.CreateAbEntryAccess(sLoginString);

// identify the customer (using the customer portal)
abe = oAbEntryAccess.ReadList("KEY(" + Session["visitorKey"] + ")").Item(0);

// now you have access to the address book entry corresponding to the logged in customer,
// e.g. Mary Smart in the Escona Tutorial.

// ------------------------------------------
 
Posts: 10 | Registered: October 13, 2006Reply With QuoteReport This Post
Member
Posted Hide Post
At the moment I'm trying to see if it's possible to let a customer (in the customer portal) alter some of his/her own UDFs (e.g. when a customer logs into the portal, we would like to present a UDF that stores certain preferences for the customer. Allowing the customer to do this himself, saves us time).

The Portal Guide (and other guides) don't seem to document this area.

The only documented route I've been able to find is how to read (read-only) UDF information like so:

// -----------------

Maximizer.Data.AddressBookMaster oAb = (Maximizer.Data.AddressBookMaster)Session["maxAb"];
Maximizer.Data.UdfAccess udfa = oab.CreateUdfAccess(sLoginString);
Maximizer.Data.UdfDefinitionList udfdeflist = udfa.ReadUdfDefinitionList(Session["visitorKey"].ToString());

Maximizer.Data.MxField mxf = udfa.ReadUdf(udfdeflist.Item(0),Session["visitorKey"].ToString()
);
Label1.Text = mxf.get_FieldLabel();
TextBox1.Text = mxf.ToString();

// this gives "Region" and "US - Midwest" respectively for example customer "Mary Smart" in the Escona Tutorial.

// -----------------

I want to change, say, Region, to a different value. However, most members are read only. So I'm stuck here.

There are .Insert and .Update functions for the UdfAccess object, but I haven't been able to accomplish anything with them (not
sure how to use them).

Any help would be appreciated.


P.S. I've tried looking at how the standard customer portal handles this in the "personalize" web page dialog. I stranded in
this search while trying to disassemble the call this dialog makes to Maximizer.External.DLL with the .NET Reflector (from http://www.aisto.com/roeder/dotnet/). This disassembled code has renamed members (hard/impossible to analyse) -> example code:

// -----------------
private string b(){
string[] textArray1 =
this.hidSelectedValues.Value.Split("|".ToCharArray());
if (this.e.Field null){
this.e.NewEmptyField(true);
this.e.UserInt |= 1;
}
else{
this.e.UserInt |= 2;
}
MxTable table1 = (MxTable) this.e.Field;
table1.Items.Clear();
for (int num1 = 0; num1 < this.e.Items.Count; num1++){
Option option1 = this.e.Items.Item(num1);
for (int num2 = 0; num2 < textArray1.Length; num2++)
if (textArray1[num2] option1.FieldValue)
table1.Items.Add(option1);
}
if (this.d){
try{
UdfAccess access1 = ((AddressBookMaster)
this.Session["maxAb"]).CreateUdfAccess(this.c);
try{
access1.Update(table1,
this.Session["visitorKey"].ToString());
}
catch (Exception){
try{
access1.Insert(table1,
this.Session["visitorKey"].ToString());
}
catch (Exception){
}
}
}
catch (Exception){
}
}
return table1.ToString();
// -----------------
 
Posts: 10 | Registered: October 13, 2006Reply With QuoteReport This Post
New Member
Posted Hide Post
I am desperatley trying to do the same thing - allow users logged into the Maximizer 9 Customer Portal to edit their own UDFs.

If anyone out there has ever managed to get this working please reply to this forum.

I am near my wits end.

Thank-you and Regards,
Shane.
 
Posts: 1 | Registered: October 10, 2007Reply With QuoteReport This Post
  Powered by Social Strata  
 

CABC    Maxtalk  Hop To Forum Categories  Maximizer & The Internet  Hop To Forums  Maximizer Web Portals    Maximizer 9 Portals

© CABC Ltd 2002 - 2009. All Rights Reserved.
Maximizer is a trademark of Maximizer Software inc.