saleslogix / argos-saleslogix Goto Github PK
View Code? Open in Web Editor NEWSalesLogix-specific HTML/CSS/JavaScript mobile SData client based on argos-sdk
Home Page: http://saleslogix.github.io/argos/
License: Apache License 2.0
SalesLogix-specific HTML/CSS/JavaScript mobile SData client based on argos-sdk
Home Page: http://saleslogix.github.io/argos/
License: Apache License 2.0
Was able to get in OK using admin user.. but if I use someone else, the new security is giving me problems.
I added roles and securedActions in SData, rebuilt/deployed.. but it does not seem to work. Am I missing something?
Noticed changes for contract too.. contracts are not associated w/opp.s
Is the plan to add in the assn to Accounts?
Duration only allows choosing a predefined set of times:
none
15 minutes
30 minutes
1 hour
1.5 hours
2 hours
We need to be able to set a start date/time and end data time and let the system figure the duration...
AND
to be able to set a start date/time plus enter a free format duration. (ex 23m - 23 minutes, 5.5h)
As it is now, it's very close to unusable.
NOTE: Needs to have a "GUI" capability like the Windows/LAN client. Also, noticed we have "hard-wired" defaults on alarms at 15 min. Not that way in other Slx Client apps (Web/Win)
x-posted to Community
At BootCamp we ran against an 8.0 db and I also repeated the same when I got back in the office. using the same vm - all seemed well.
When I tried to run the latest argos-saleslogix and argos-sdk with the argos-sample (latest) using the following scenario(s):
A - same 8.0 VM - all ok
B - Ran the SAME against SalesLogix v7.5.4 (fall-back mode) - all of the "row" related customs "fail". No errors are thrown or seen in FF FireBug. All that happens is the custom "overrides" do not happen at all.
EX:
//Add Region to the Account Detail view, right above the Type property
this.registerCustomization('detail', 'account_detail', {
at: function(row) { return row.name == 'Type'; },
type: 'insert',
where: 'before',
value: {
name: 'Region',
label: this.regionText
}
});
just does not happen in 7.5.4
Oh yes, I know about the "name" -> property change and I tried it.. still failed.
User can see notes that belong to Accounts/Contacts/Leads/Tickets, etc that they should not see.. This is not a problem at the entity level since it "filters" it out due to the relationship. It is a "home page GoTo History" issue.
Windows/LAN and web allow you to enter using alpha characters and then "translates" it into a number:
ex: 800GOVALLEY or 800FOXBORO
Mobility just "falls over" and tosses the characters so you end up with just "800" and nothing else.
The sample only shows how to do one HT at a time. w/Ext based mobile, we could do multiples.
Any easy way to do this w/the dojo?
Ext based:
hashTagQueries: Ext.apply(Mobile.SalesLogix.Account.List.prototype.hashTagQueries || {},{
'cust': 'Type eq "Customer"',
'lead': 'Type eq "Lead"',
'vend': 'Type eq "Vendor"',
'slxbp': 'SubType eq "SLX BP"',
'my': function(){
return String.format('AccountManager.Id eq "{0}"',App.context['user']['$key']);
}
})
dojo:
??
One->
this.registerCustomization('list/hashTagQueries', 'account_list', {
at: true,
type: 'insert',
value: {
tag: 'my',
query: function() {
return dojo.string.substitute('AccountManager.Id eq "${0}"', [App.context['user']['$key']]);
}
}
});
Many????
As ADMIN:
SLX WEB Client, LAN Client look at Meeting Regarding Picklist in the Picklist manager or through Create Meeting Regarding\Description picklist selector, answer is 11 picklist items.
Log into SLX Mobile, create a meeting activity.....click on Regarding.....answer is 351 Picklist Items!!!
So it looks like sData is not filtering picklist items by
IE the sData payload is ALL picklist values for a given picklist regardless of creator.
SLX 7.5.4 HF 1-3
SLX Mobile 1.1 (mobile running on iPad Safari)
SQL Server 2008 R2 64 bit.
Hash Tags are great shorthand for things like:
#cust -> Type eq "Customer", etc.
and the ability to use multiple hash tags is even better:
#cust #my (my customers)
What if we could add a simple "NOT" notation to them without defining new tags? - like:
!#cust -> Not customer
I suggest that the hash tag function be extended to recognize the ! character as "not".
Example:
Locate all Accounts where the logged in user is the Account Manager, the Type is Customer, and the Status is NOT Active where you hate the follow tags available:
#my -> User is Account manager
#cust -> Type = "Customer"
#act -> Status = "Active"
You would enter: #my #cust !#act
xposted to Community
I've noticed all the downloads (sdk/saleslogix/sample, etc) now say v1.2-gold in the names of the zip file downloads even if I'm downloading the "master" which is not 1.2.
Although we can combine multiple hash tags in the search .. we cannot combine the #!(...) with a predefined one.
You also cannot combine the #!(...) with a basic search either:
#!(AccountName like '%c%') a
even though you can w/the predefined:
#cust a
x-posted to the community
This issue may only be present on the 1.2 branch but the code is the same in the current master. In the contentTemplate simplate the following line:
'{%= $$.activityTimeTemplate.apply($) %}',
...doesn't work. Format.date format string argument gets a null, so output is in the default m/d/yyyy format.
For comparison, the below is from the contentTemplate simplate in calendar/UserActivityList:
'{%! $$.timeTemplate %}',
I used the following code:
'{%! $$.activityTimeTemplate %}',
After switching out the above code in the activity list view, the list is displayed correctly in 1.2.
contentTemple:
Now: '
I like this capability....although this should be USER Friendly, not programmer friendly (or should be both).
I'm liking this:
Another
This too:
However the queries need to be LOCALIZED Display name based (User Friendly), not simply Property Based (Programmer Friendly) (I'm assuming you want # queries to be used by User's correct? or is that not their purpose?)
So
Another
This too:
And maybe the spaced display names need to be in " " or [ ] to handle spaces in Display Names.
This should NOT be in Programmer Property stuff only....
ALSO is this going to be a SQL Injection Security breach? Anytime I see non-parameterized SQL Server Queries you scare the heck out of me.....
Was running a test on the latest dojo code and found AccountName not in the list w/teh Contact Name.
Before:
QuerySelect was obtaining the AccountName from the Contact record
Now:
QuerySelect obtaining the Accountname from the related Account
ItemTemplate was not changed:
IS:
itemTemplate: new Simplate([
'
Should be:
itemTemplate: new Simplate([
'
Question.. why was the querySelect changed? Sometimes it is valid for the Contact to have a different AccountName than the Account has. This change makes that no longer possible.
If you are using FF/chrome, etc on the "desktop" you can enter/display/edit an extension on a phone number just like you always have been able to do so in Windows/LAN an web.
If you use certain mobility devices (ex: my driod X or my Samsung Galaxy tab) it pops up a different keyboard that has no provisions for addding/edting an extension (no "x").. and it will "kill off"/delete an extension of there is one there! In other words, it will delete customer data.
The (GUI) setting of an alarm/reminder interval has the same limitation as the duration of an activity. Many times people will set an alarm for several days in advance or maybe in x minutes (or hrs).
We need a change in the GUI to allow for setting of things like a 3 day or 13 minute.. or 7 hr.. type of reminder alarms.
Just re-loaded my test system to dig deeper into another issue and saw a new "error" popup in Firebug - Missing help-en_US.html.
For now I just copied the help.html and renamed it help-en_US.html.
You guys probably already know about this one.
Most of us schedule an Activity w/an individual and typically look up the contact first and let it fill in the account automatically. This saves extra keystrokes and time.
The mobile web app will not let you do this.
A - In Edit.js -> Change the "type" control to a picklist control and create an EventType picklist. This will make customizatios easier and only require picklist (data) changes to update. I've already modified my image and it works great!
B - Add a "link" to an Account so that we can tie Events to An account. EX: A BootCamp Event (type) tied to Sage SalesLogix.
C - Make it possible to "publish" an Event that shows up on everyone's calendar as "Read-Only". This would take care of Holidays, etc that are common to all. Probably restrict creation/publish to the Admin user and set the USERID to "SYST00000002" (?) Might want to consider adding a "Secured Action" on this for "V8" based SData systems.
x-posted to the Community
We do NOT have "dup" associated contacts "prevention" in either the LAN or Web clients and we should not have it in the Mobile either. There are valid reasons for duplicates and our customers DO intentionally do this...
EX: One of our best customers is in the trade show business and in the Opp Contacts they associate (at least) three contacts per opp. Each has a specific role/title that is a business requirement for them. 80% of the time at least two are dups and 60% of the time all three.
So I am suggesting the by adding this feature you are:
A - Adding something SalesLogix has never had.. and does not have in the existing clients
B - Adding something that will break existing business rules that depends on dups to exist
C - Adding something that is completely unnecessary.
Using a copy of the 7.5.4 Eval/Demo db all looks fine. However, when run against our own 7.5.4 production system, the counts are off. There are days where thare is a indication of "1" and there's no activities for that day. On other days there are "9" but really only "8".
Any ideas?
Ques: How does SData deal w/recurring activities? - Could this be the smoking gun?
Country field was 32 chars long... now 64 in SalesLogix 7.5.4 w/latest updates (2nd web update I believe).
Scenario:
A - Looked up an Account and then related tickets. 6 tickets (correctly) showed up.
B - Via Windows/LAN, crested 3 new/additional tickets for that account
C - Went back to the mobile (still showing the original 6) and click on the "back" button/arrow next to "home".
D - Clicked on the related tickets and still only showing 6 tickets.
No matter where I navigated or how I navigated, still only the original 6 would show up. Only by logging out and then back did it then properly show all 9.
A - Thanks for adding Events! Really helps to round out calendar/activities.
B - If you are on calendar and have a date picked other than today.. say labor day (Sept 5) - adding an event id defaulting to today rather than the picked date. All other "activities" follow the "picked date" correctly.
C - After adding an event it is not refreshing the calendar like adding any of the "normal" activities do.. SO it does not show up until you either browser refresh or move to week (or day) and then back to month.
D - Icon for Event (in list) does not show up if you click on week.
E - Events are not necessarily all day things - they can be half days (ex:1/2 day conference that starts at 9am and ends at 12:00 noon.).
Need to be able to create a Personal followup activity when closing an activity.
Tested in in our production 1.2 and 2.0 MW by doing a simple "add" of:
'atPersonal': 'Personal'
to followupValueText does it just fine.
Reason.. simple - I happened to mave a "personal" dental appointment today.. and when completing it I went to schedule my next 6 month claning (a "follow-up").. but found personal was not available. 60 seconds later.. I now have it ;-) Should be part of the std..
I can see good reason to schedule a personal follow-up to any type of activity.. (an do so all the time).
All other client apps (LAN/Web) have always provided for adding just an Account w/no Contact. The Mobile web app does not.
x-posted to the community
Subject says all... Activity.Location does not exist in 7.5.4. UNLESS you guys plan on adding it?
Detail View also displaying field.. seeing [object Object] as a value as well.
What is the plan for location?.. an address?.. as a text field by itself, it's basically not useful at all.
When the tablet is in the portrait mode, I am seeing the calendar showing "side-by-side" view - when in landscape it is showing the calendar over activity/event view.
Seems backwards.. ;-)
When completing an activity the HISTORY.RESULT is set correctly but the HISTORY.RESULTCODE is not set.
Windows/LAN (and web I believe) do set it.
This appears to not be an issue on 8.0.. BUT when using 20 for 754 and you try to go to an Entity related activity, it throws an error.
Tracked it down to line 85 in activity list.js:
contractName: 'system'
comment this out.. problem goes away ;-)
Add a "favicon" to the SData html5 Mobile app.
It turns out there's already an image of the "Blue Ball" in content/images (icon.png).
What I did was to just add one line to the "index" under the <title...</title> (tag) line:
Now you get the "Blue Ball" up on top of your browser ;-)
Also wrote a small blog on it:
http://blog.rjlsystems.net/2011/07/28/add-a-favicon-to-your-sage-saleslogix-mobile-web-client/
Really like the new duration control, I went ahead and replaced the reminder w/the same control to make the user experience cleaner.
Tests out just fine in both cases.
Really great to be able to put in exactly what you want (to the minute) on the duration (and alarm/alert) time(s). Now I have to figure out how to retrofit it in 1.x for our existing customers who want this type of user experience/gui from me yesterday ;-)
Oh yes, on FF there seemed to be a "line up issue" with the "box" and the list.
NOTE:
I suggest you probably want to come up with a more generic name for the control.. although what you would call it - I have no idea.
Looking at home.js I see:
userOptionsToRequest: [....]
Are these coming from UserOptionDef or UserOptions (by userid?)
Just do not see the exposed Sdata feed for UserOptions - only see UserOptionDef data returned.
Want to add a new UserOption to "query" on login and it just does not show up.... tested the SData feed and it's not there.. only seeing UserOptionDef data.
If any ticket for a given account has a null in the AssignedToId property/field - no data is returned to the (Ticket) list view.
Typically happens on the "related" usage under an Account.
Easily seen using FireFox/Firebug.
NOTE: It is perfectly normal to not have tickets assigned to anyone at any given time where a business chooses to manually assign tickets.
x-posted to the community
I'm tired of pushing the little buttons......this could be a major strategic push for SLX Mobile 3rd quarter 2012.....the codecs are available.....and through Sencha for sure if not Dojo.....
command navigation by voice including picklists, lookups, button clicks, send email, phone home, hash tags, directions to a customer address.....all voice.
voice capture of your sermon into an SLX Notes field....maybe it's back on the cloud\server but voice to text still gaining ground.
and certainly we can playback text to audio for notes fields etc into headphones, car speaker system....
Do not know how I missed this one:
If you go to Account(s) and add an Account you can select the Account manager and the "Owner".
However, if you use the "Quick Action" to Add Account/Contact you cannot -
Notice - not ALL "codes" are legit for an Owner - it has to be an "Active" user(ID), or Team - never a template or "retired" user
Mobile Web app is not allowing me to select an Opportunity from an Account that does not match the Account Selected.
The Windows/LAN and web do.
There's nothing wrong w/pre-filtering to the selected Account (Windows/LAN and Web do).. but you should be able to query another or click on select w/a blank and get them all (Opportunities).
FYI - Ticket selection works "right".
x-posted to teh Community
You can build a List view as a normal list and add in List Actions - but attempting to have a grouped list w/List Actions "fails". Firebug pops a "typeError: _2df is null" (in dojo.js line 15)
If I "rip out" all list actions from the list.js it will display.. but no list actions available :-(
FYI - tested it using Account list.js - latest 2.0 SalesLogix and sdk from GH.
Just copied the source(s) for 2.1 over to my test 754 env (along w/the updated 20 for 754).
"Manually built the pieces (sdk, saleslogix, etc...)" and "manually" deployed them (no different than I did w/2.0).. and tried to "run".. and hit an error (FireFox):
NetworkError: 404 Not Found - http://localhost:3333/slxmobile21/content/dojo/dojo/store/util/QueryResults.js
FYI - runs off the "source" just fine.. just seems to have a build issue.
(Enhancement Request)
On the Home View add the action-toolbar like other list views.
Ideas for home-actions:
.. specifically (how to repeat this problem 100% of the time) , if you schedule an Event for Oct 31st (Halloween) - it "hangs" the app when you switch to the month view for that month.. and the script appears to loop forever.
(Enhancement Request)
Within a Detail View under the Related Items list add the list-action toolbar as seen in List Views.
The list-action function should have a reference to the current Detail entry (namely $key).
This would allow things like:
Even though there is a comment to the same (pers activity does not require an account) - the system is forcing one to select one.
Just discovered this ...
Returns:
"The requested entry is not available."
for every activity. However, if it is an event, it DOES go to it ;-)
Scenario:
Yesterday was the third Thursday and as usual, there was an (Outlook) email reminder from Sage about the monthly on-line salesmeeting. This was in the form of a "meeting request" and Intellisynch automatically converted it to a Meeting type activity in SalesLogix. Of course it (the) SalesLogix Activity appeared w/no Account and no Contact info.
When I went to complete the activity in the mobile web app it gave me a Validation error/alert because there was no Account.. However, If you complete it in the WIndows/LAN or the Web client there is no such validation and it will complete (W/out an Account and/or Contact).
x-posted to the community
If the last thing you clicked on was weekly - then if you click on the Today btn - it will show a weekly view for "this" week
Scenario (taken directly from my own daily experience):
User is on a "synching" SalesLogix remote
User sets up several activities timeless w/rollover enabled (ex: a list of to-do's)
Next day, user accesses SalesLogix Activities via their Mobile device (droid) - list of to-do's are still scheduled for yesterday.
The only way one can get the activities to "rollover" is to log into the remote and synch it. - We need a way to get previous timeless/rollover Activities to roll..
See that the sdk now has signature capture - any example/sample available?
Trying to insert activity:
http://localhost:3377/sdata/slx/system/-/activities?_includeContent=false&select=AccountId%2CAccountName%2CAlarm%2CAlarmTime%2CCategory%2CContactId
%2CContactName%2CDescription%2CDuration%2CLeader%2F%24key%2CLeadId%2CLeadName%2CLocation%
2CLongNotes%2COpportunityId%2COpportunityName%2CPriority%2CRegarding%2CRollover%2CStartDate%2CE
ndDate%2CTicketId%2CTicketNumber%2CTimeless%2CType%2CUserId%2CRecurring%2CRecurrenceState%2C
RecurPeriod%2CRecurPeriodSpec%2CRecurIterations&format=json&_t=1338850990404
I get error:
[
{
"severity": "Error",
"sdataCode": "ApplicationNotFound",
"applicationCode": "",
"message": "Unable to locate a handler to process the request 'slx/system/-/activities'",
"stackTrace": "",
"payloadPath": ""
}
]
Looking at my Activity entity I do not have a RecurringState property.
Also RecurPeriod, RecurPeriodSpec, and RecurIterations do not match the case of my properties. Do I need to do something additional to get this to work?
Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.