Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Navision - Sharepoint Integration

Îåêßíçóå áðü ôï ìÝëïò Pak. Τελευταία δημοσίευση από το μέλος Pak στις 03-07-2009, 12:14. Υπάρχουν 6 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  02-07-2009, 09:55 52164

    Navision - Sharepoint Integration

    Το λοιπον... Εχουμε το εξής σενάριο. Εχουμε ένα Navision installation (4.0 SP3). Η εταιρία η οποία έχει το Navision κατα καιρούς αυξάνει η μειώνει το πιστωτικό όριο των πελατών(credit limit). Ένας πελάτης για να αυξήσει το πιστωτικό του όριο πρέπει να το αιτηθεί και να περάσει από κάποια διαdικασία(workflow). Αυτή η διασικασία μέχρι σήμερα γίνεται χειροκίνητα (email, fax, τηλεφωνο, ταχυδρομείο, περιστέρι, facebook... κτλ). Οι απαιτήσεις είναι α) να μπορεί ο κάθε αντιπρόσωπος να ξεκινά και να παρακολουθεί μια διακικασία αίτησης αυξησης πιστωτικού ορίου από ένα συγκεκριμένο σημείο β) τα έγγραφα της διαδικασίας να αρχειοθετούνται σε ένα κοινο repository για ευκολη μελλοντική αναζήτηση.

     Εχει προταθεί η εξής λύση. Να στηθούν WSS 3.0 σε ένα προσβάσιμο server από όλους τους ενδιαφερόμενους. Να υλοποιηθεί έvα web part το οποίο θα φέρνει τους πελάτες από το Navision και θα τους συσχετίζει με ένα workflow.

    Οι ερωτήσεις

    α) Είναι εφικτο σε ένα gridview (στο οποίο θα βρισκονται οι customers που φέραμε από το Navision, αυτό το έκανα Cool), μέσα σε ένα web part, να προσθέσω ένα column με το οποίο κάποιος να μπορεί να ξεκινά και να παρακολουθεί ένα workflow; Αν ναι, πώς ειναι αυτό εφικτό; Υπάρχουν κάποια παραδείγματα, how to η κάτι από οπού μπορώ να ξεκινήσω;

    β) Έχω την δυνατότητα να απόθηκέυω πληροφορία εκτός Navision(πχ σε ένα xml αρχείο) η οποία να σχετίζεται με τον συγκεκριμένο πελάτη; Για παράδειγμα θα ήθελα μετά την έγκριση να αποθηκέυω κάπου το εγκριθέν πιστωτικό όριο για κάθε πελάτη. Αν ναί θα ήμουν ευτυχής με κάποια περαιτέρω guidelines!

    Είμαι έτοιμος για διευκρινήσεις! 


    View Παναγιώτης Χαραλάμπους's profile on LinkedIn
    Coding at Mediterranean Acoustics
  •  02-07-2009, 10:01 52165 σε απάντηση της 52164

    Απ: Navision - Sharepoint Integration

    Διευκρίνιση! Οποιεςδήποτε out of the box λύσεις στα πλάισια πάντα Navision Sharepoint είναι αποδεκτές και επιθυμητες!
    View Παναγιώτης Χαραλάμπους's profile on LinkedIn
    Coding at Mediterranean Acoustics
  •  02-07-2009, 11:25 52167 σε απάντηση της 52164

    Απ: Navision - Sharepoint Integration

    Αυτό που ζητάς είναι αυτοματοποίηση της διαδικασίας του Navision, κάτι το οποίο μπορεί να γίνει με workflow μπορεί και όχι. Το Sharepoint όμως ΔΕΝ είναι workflow server. Έχει μία υλοποίηση workflow μέσω του Sharepoint Designer για task automation με βήματα που αφορούν καθαρά το ίδιο το Sharepoint (π.χ. δημιουργώ list item, δημιουργώ task, αλλάζω ένα πεδίο, στέλνω ένα email). Αφορά εντελώς γραμμικά workflows, χωρίς καμμία δυνατότητα looping (π.χ. for, while). Μπορείς βέβαια να φτιάξεις και δικά σου workflow activities ή ακόμα και να φτιάξεις ολόκληρο το workflow με το Visual Studio, αλλά αυτό απαιτεί αρκετό χρόνο.
    Το Sharepoint δεν παρέχει workflow, χρησιμοποιεί workflow, όπως π.χ. θα μπορούσε να χρησιμοποιήσει και το Navision το ίδιο.

    Αυτό δεν σημαίνει ότι δεν μπορείς να χρησιμοποιήσεις Sharepoint, απλά ο τρόπος θα είναι διαφορετικός. Ας πάρουμε καταρχήν ποιές είναι πραγματικά οι απαιτήσεις (το workflow είναι τεχνολογία, όχι απαίτηση).

    1. Έχουμε μία διαδικασία αλλαγής πιστωτικών ορίων κατά την οποία ανταλλάσονται πολλά έγγραφα.
    2. Δεν υπάρχει μία αυστηρή διαδικασία αλλά κάποιες φάσεις και κάποιες απαιτήσεις οι οποίες πρέπει να καλυφθούν.
    3. Θέλουμε να μαζέψουμε την αλληλογραφία της διαδικασίας σε ένα σημείο
    4. Θέλουμε να παρακολουθούμε την εξέλιξη της διαδικασίας, δηλαδή
      1. Θέλουμε να ξέρουμε σε ποιό βήμα βρίσκεται τώρα η διαδικασία
      2. Ερώτηση: Θέλουμε να ξέρουμε αν καθυστέρησε κάποιος, κάτι, κάποιο βήμα κλπ?
      3. Ερώτηση: Θέλουμε στατιστικά π.χ. έγιναν τόσες μειώσεις το μήνα, μέσος χρόνος Χ, έκανε 5 μέρες στο τάδε βήμα?
    5. Οι πελάτες θα προέρχονται από το Navision αλλά θα προσθέσουμε και δική μας πληροφορία
    6. Το θέλουμε τσάμπα Hmm

    Το τελευταίο σημείο είναι μάλλον σημαντικό, καθώς προκαλεί επιπλέον κόστος Indifferent. Βλέπεις, στην Enteprise edition του Sharepoint υπάρχει το Business Data Catalog το οποίο σου επιτρέπει να συνδεθείς με άλλα συστήματα και να εμφανίσεις π.χ. πελάτες λες και ήταν λίστες και στήλες του Sharepoint. H Enterprise όμως κοστίζει, οπότε θα πρέπει να κάνεις τη δουλειά με δικό σου κώδικα.

    Ας πάρουμε τα πράγματα με τη σειρά.

    1-2. Για να αυτοματοποιήσεις μία διαδικασία δεν απαιτείται workflow, μπορείς άνετα να έχεις μία λίστα με τις αιτήσεις, ένα checkbox για κάθε απαίτηση και στο τέλος ένα πεδίο "Φάση" με τιμές "Νέα", "Σε Εξέλιξη", "Παγωμένη", "Εγκρίθηκε", "Απορρίφθηκε". Μπορείς μετά να βασιστείς σε views επάνω σε αυτή τη λίστα για να δείχνεις π.χ. μόνο τις ενεργές αιτήσεις στους αντιπροσώπους.

    3. Αυτό φωνάζει για document library. Μπορείς να φτιάξεις ένα document library στο οποίο θα προσθέσεις ένα lookup πεδίο προς τη λίστα των αιτήσεων για να συνδέσεις έτσι αιτήσεις με έγγραφα. Θα χρειαστεί βέβαια να φτιάξεις και μία σελίδα στην οποία θα εμφανίζεις και την αίτηση και τα σχετικά documents. Ο πληρέστερος τρόπος θα ήταν να φτιάξεις custom edit/display φόρμες για τη λίστα των αιτήσεων οι οποίες θα εμφανίζουν τα σχετικά documents κάτω από τα στοιχεία της αίτησης. Ο πιο quick&dirty τρόπος θα ήταν να φτιάξεις μία απλή σελίδα στην οποία θα βάλεις δύο web parts, ένα να δείχνει τα στοιχεία της αίτησης και ένα να δείχνει τα documents, και τα δύο φιλτραρισμένα με βάση το ID της αίτησης.
    Ή μπορείς να πεις στους χρήστες να κάνουν search με τον κωδικό της αίτησης (very quick, very dirty)!

    4. Μπορείς να παρακολουθήσεις την εξέλιξη των αιτήσεων με διάφορους out-of-the-box τρόπους. Καταρχήν, μπορείς να ομαδοποιήσεις τις αιτήσεις με βάση τις φάσεις και να εμφανίσεις και counts ή αθροίσματα. Αυτό γίνεται απλά φτιάχνοντας το αντίστοιχο view. Αν σε ενδιαφέρει να βλέπεις και πότε πέρασε από τη μία φάση στην άλλη, ή πότε ολοκληρώθηκε η μία ή η άλλη απαίτηση, μπορείς να προσθέσεις και κάποια πεδία ημερομηνίας. Για να συμπληρωθούν όμως αυτά τα πεδία θα πρέπει να φτιάξεις ένα αρκετά απλό event receiver στο ItemUpdating event ο οποίος θα κοιτάζει ποιό πεδίο άλλαξε και θα ενημερώνει την αντίστοιχη ημερομηνία. Δεν μπορείς να χρησιμοποιήσεις Sharepoint designer workflow γιατί η έλλειψη loops σημαίνει ότι δεν μπορείς να εκφράσεις το "όσο είναι ενεργή η αίτηση περίμενε για αλλαγές στα πεδία Χ,Υ,Ζ και άλλαξε τα A,B, C".
    Αν βάλεις ημερομηνίες θα μπορέσεις να υπολογίσεις και χρόνους (με λίγη παραπάνω δουλειά) για να καλύψεις και το 4.2

    5. Εφόσον δεν παίζει BDC, θα πρέπει κάπως να έρθει η πληροφορία από το Navision στο Sharepoint. Η ευκολότερη λύση είναι να φτιάξεις μία λίστα πελατών την οποία θα γεμίζεις περιοδικά με στοιχεία από το Navision. Θα πρέπει να καλείς είτε τα web services του Navision, είτε να χτυπήσεις τη βάση του (ό,τι σε βολεύει) και να περάσεις τα στοιχεία στη λίστα του Sharepoint. Η λίστα των αιτήσεων θα περιέχει και ένα lookup πεδίο στη λίστα των πελατών έτσι ώστε να μπορείς να επιλέξεις ποιός πελάτης αντιστοιχεί σε ποιά αίτηση. Η λίστα των πελατών θα περιέχει τουλάχιστον τα πεδία Όνομα, Επώνυμο, Πιστωτικό Όριο, Navision ID και όποια άλλα σε ενδιαφέρουν.
    Για να εκτελείται περιοδικά το τράβηγμα των στοιχείων μπορείς είτε να φτιάξεις ένα command-line εργαλείο το οποίο θα τραβάει τα δεδομένα, ή να φτιάξεις ένα Sharepoint Job το οποίο θα κάνει την ίδια δουλειά. Απλά το Sharepoint Job θέλει λίγο κώδικα παραπάνω για να το εγκαταστήσεις, γιατί .... δεν προβλέφθηκε τρόπος να φτιάξεις jobs χωρίς κώδικα.

    Το παραπάνω είναι απλά ένας συνδυασμός τεχνικών τις οποίες μπορείς να χρησιμοποιήσεις. Έχω αντιμετωπίσει πάρα πολλές φορές παρόμοιες απαιτήσεις και άλλοτε ήθελαν να βρίσκουν τις καθυστερημένες αιτήσεις, άλλοτε ήθελαν να στέλνουν email ειδοποίησης, άλλοτε ήθελαν έγκριση για τη μετάβαση από τη μία φάση στην άλλη, άλλοτε μονή και άλλοτε διπλή υπογραφή κλπ, κλπ, κλπ, κλπ.

    Θα πρέπει να ξεκαθαρίσεις τί θέλουν πραγματικά οι χρήστες σου πριν αποφασίσεις τί πεδία θα βάλεις μέσα και πόσο και τί κώδικα θα γράψεις. Αν είσαι μάλιστα στη φάση που "ό,τι μας δώσετε βοηθάει" καλό είναι να κρατήσεις απλά τα πράγματα για να μην βρεθείς προ απροόπτων.

    Τέλος, αν έχεις περίπλοκη διαδικασία θα πρέπει να σκεφτείς μήπως πρέπει να χρησιμοποιήσετε κάποιο πραγματικό workflow server με σύνδεση προς το Sharepoint. Κοστίζουν μεν, αλλά έχουν όλα όσα είπαμε και πολλά ακόμα όσον αφορά δρομολόγηση, παρακολούθηση, escalation, διαχείριση εισερχομένων, εξερχομένων αιτήσεων, στατιστικά κλπ. Η απαίτηση #6 μπορεί να κοστίσει περισσότερο απ' όσο αξίζει.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  03-07-2009, 09:25 52189 σε απάντηση της 52167

    Απ: Navision - Sharepoint Integration

    Παναγιώτη, σε ευχαριστώ πολύ για την λεπτομερή απάντηση!

    Όσο αφορά τις ερωτήσεις σου και τις παρατηρήσεις σου:

    Αφορά εντελώς γραμμικά workflows, χωρίς καμμία δυνατότητα looping (π.χ. for, while) Νομίζω αυτό μου αρκεί.

    1. Έχουμε μία διαδικασία αλλαγής πιστωτικών ορίων κατά την οποία ανταλλάσονται πολλά έγγραφα. Ναι
    2. Δεν υπάρχει μία αυστηρή διαδικασία αλλά κάποιες φάσεις και κάποιες απαιτήσεις οι οποίες πρέπει να καλυφθούν. Ναι
    3. Θέλουμε να μαζέψουμε την αλληλογραφία της διαδικασίας σε ένα σημείο Ναι
    4. Θέλουμε να παρακολουθούμε την εξέλιξη της διαδικασίας, δηλαδή
      1. Θέλουμε να ξέρουμε σε ποιό βήμα βρίσκεται τώρα η διαδικασία Ναι
      2. Ερώτηση: Θέλουμε να ξέρουμε αν καθυστέρησε κάποιος, κάτι, κάποιο βήμα κλπ? Οχι
      3. Ερώτηση: Θέλουμε στατιστικά π.χ. έγιναν τόσες μειώσεις το μήνα, μέσος χρόνος Χ, έκανε 5 μέρες στο τάδε βήμα? Οχι
    5. Οι πελάτες θα προέρχονται από το Navision αλλά θα προσθέσουμε και δική μας πληροφορία Ναι
    6. Το θέλουμε τσάμπα Hmm Ναιιι! Big Smile

     

    Η ευκολότερη λύση είναι να φτιάξεις μία λίστα πελατών την οποία θα γεμίζεις περιοδικά με στοιχεία από το Navision. Θα πρέπει να καλείς είτε τα web services του Navision, είτε να χτυπήσεις τη βάση του (ό,τι σε βολεύει) και να περάσεις τα στοιχεία στη λίστα του Sharepoint. Η λίστα των αιτήσεων θα περιέχει και ένα lookup πεδίο στη λίστα των πελατών έτσι ώστε να μπορείς να επιλέξεις ποιός πελάτης αντιστοιχεί σε ποιά αίτηση. Η λίστα των πελατών θα περιέχει τουλάχιστον τα πεδία Όνομα, Επώνυμο, Πιστωτικό Όριο, Navision ID και όποια άλλα σε ενδιαφέρουν.Ωραίο, δε το σκέφτηκα! αυτό θα κάνω

    Θα πρέπει να ξεκαθαρίσεις τί θέλουν πραγματικά οι χρήστες σου πριν αποφασίσεις τί πεδία θα βάλεις μέσα και πόσο και τί κώδικα θα γράψεις. Αν είσαι μάλιστα στη φάση που "ό,τι μας δώσετε βοηθάει" καλό είναι να κρατήσεις απλά τα πράγματα για να μην βρεθείς προ απροόπτων Hmm... Yeah, thats the case.

    Το λοιπον, χρησιμοποιώντας την μέθοδο του prototyping ετσι για να λερώσω τα χέρια μου, θα ξεκινήσω με την δημιουργία της λίστας η οποία θα συχρονίζεται με το Navision χειροκίνητα στην αρχή, μέσω κάποιου web part, θα το σκεφτώ καλά και θα επανέλθω...


    View Παναγιώτης Χαραλάμπους's profile on LinkedIn
    Coding at Mediterranean Acoustics
  •  03-07-2009, 10:45 52198 σε απάντηση της 52189

    Απ: Navision - Sharepoint Integration

    Καλό θα είναι να μην επιμείνεις στα web part γιατί είναι εντελώς ακατάλληλα για ένα τέτοιο έργο. Το web part υπάρχει για να δείξεις κάτι στην οθόνη, όχι για να εκτελέσεις batch κώδικα, να κάνεις τροποποιήσεις σε λίστες και πεδία ή να ξεκινήσεις workflows. Αν θέλεις να κάνεις το migration χειροκίνητα φτιάξε ένα console application. Ειδικά για prototyping είναι 1000000000000000000 φορές ευκολότερο να γράψεις

    static void Main(string args[])
    {
        DateTime lastMigrationDate=DateTime.Parse(args[1]);
        string siteUrl=args[2];
        string listUrl=args[3];
    ...
        var dbCustomers=from customer in dbDataContext.Customers
    where customer.Modified>lastMigrationDate
    select customer;
       SPSite site=new SPSite(siteUrl);
       SPList list=site.RootWeb.GetListByUrl(listUrl);
       foreach(var aCustomer in dbCustomers)
       {
             SPListItem item=list.Items.Add();
           item["Name"]=aCustomer.Name;
           item["DbID"]=aCustomer.CustomerID;
    ...
    item.Update();
       }
    }

    και να πατήσεις F5, παρά να γράψεις τον ίδιο κώδικα σε κάποιο event μέσα σε ένα Web part, το οποίο μετά θα πρέπει να κάνεις deploy στον server, να το προσθέσεις στο Web Part gallery, και μετά σε κάποια σελίδα, να κάνεις attach το Visual Studio στο Application pool και μετά να δεις τί γίνεται. 
    Άσε που το console application γίνεται εύκολα schedule από τα ίδια τα Windows! Απλά το προσθέτεις στα scheduled tasks και τελείωσες!

    Αν θέλεις να δώσεις κάποιο link για να ενεργοποιήσεις τη διαδικασία και μέσα από το web site τότε έχει νόημα να σκεφτείς το web part, αν και υπάρχουν άλλοι τρόποι, π.χ. να προσθέσεις ένα link στα settings το οποίο θα κάνει αυτή τη δουλειά.

    Τυγχάνει αυτό τον καιρό να κάνω ακριβώς αυτό που ζητάς (όχι με Navision) οπότε έχω ήδη βρει αρκετά ενδιαφέροντα πράγματα. Για παράδειγμα, αν η βάση έχει πεδία Modified, Created, μπορείς σχετικά εύκολα να ξεχωρίσεις ποιοί πελάτες πρέπει να γίνουν update και ποιοί insert. Διαφορετικά θα πρέπει να βρεις τη διαφορά μεταξύ πελατών στη βάση και στο Sharepoint. Μία quick & dirty λύση είναι να τραβήξεις τα ονόματα ή τα ID των πελάτων μόνο από τις δύο λίστες και να χρησιμοποιήσεις τις Except/Intersect functions του LINQ. Για παράδειγμα, η dbCustomerNames.Except(spCustomerNames) θα σου γυρίσει τους νέους πελάτες στη βάση, η spCustomerNames.Except(dbCustomerNames) θα σου γυρίσει πελάτες που δεν υπάρχουν πλέον στη βάση (γιατί διαγράφηκαν, απενεργοποιήθηκαν, ξερωγωτί) και τέλος η spCustomerNames.Intersect(dbCustomerNames) θα σου γυρίσει τους κοινούς πελάτες οι οποίοι πρέπει να γίνουν update.

    Μία άλλη λύση που χρησιμοποίησα είναι η alpha έκδοση του LINQ to Sharepoint provider από το codeplex. Δεν είναι μία πλήρης υλοποίηση, αλλά αναζητήσεις σε μία λίστα τις κάνει πολύ εύκολα και μπορείς να πάρεις τα αποτελέσματα σε μορφή αντικειμένων, αντί να ψάχνεσαι να βρεις ποιά είναι τα internal names των πεδίων, πως γράφεται αυτό το ρημαδοCAML query κλπ. Το project είναι ψιλοπαγωμένο επειδή ο Bart de Smet προσλήφθηκε από τη Microsoft πριν 2 χρόνια και το LINQ to Sharepoint θα μπει στην επόμενη έκδοση του Sharepoint. Ο χρόνος όμως που μου γλύτωσε από το να ψάχνω τα queries αξίζει τις μικροατέλειες. 

    Φρόντισε όλο τον ουσιαστικό κώδικα του migration να τον βάλεις σε ξεχωριστή κλάση για να μπορείς να τον καλέσεις και από το console application και από κάποιο job,  web part ή administrative page. Το ιδανικό θα είναι να μπορείς να καλέσεις από οποιοδήποτε κώδικα μία μέθοδο π.χ. Migrator.Migrate(siteUrl,listUrl,dbConnection) η οποία θα κάνει όλη τη δουλειά. 

    Άλλα τινά? Logging! Φρόντισε να βάλεις από την αρχή μέσα κάποιο logging framework για να μπορείς να κάνεις logging και exception handling. Ειδικά στις batchοδουλειές ο admin του συστήματος πρέπει να ξέρεις ποιές εγγραφές πέρασαν, ποιές όχι και γιατί. Για να μην γεμίσει όμως το event log με εγγραφές του στυλ "Ο χρήστης ΧΨΩ γράφτηκε με επιτυχία" θα πρέπει να ξεχωρίσεις τί είδους μηνύματα θα πάνε που. Αυτό γίνεται εύκολα π.χ. με το Enterprise Library ή το log4net, άσταγιαβράστα όμως αν πας να το φτιάξεις μόνος σου.
    Πέρα δηλαδή από το προφανές, ότι αντί να γράφεις κώδικα για migration θα επαναξανανακαλύπτεις τον ξύλινο τροχό χωρίς μεταλικά δακτυλίδια, όταν μπορείς να βρεις με την ίδια τιμή λάστιχα radial.
    Και μην το αφήσεις τελευταίο όπως έκανα εγώ, γιατί θα τρέχεις να το προσθέσεις στη χειρότερη φάση, αυτή του deployment.

    Αυτά τα ολίγα για αρχή, κι εδώ είμαστε. Το show έχει ενδιαφέρον!

    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
    Δημοσίευση στην κατηγορία:
  •  03-07-2009, 11:20 52200 σε απάντηση της 52164

    Απ: Navision - Sharepoint Integration

    Λόγω προσωπικής πείρας έχω να παρατηρήσω τα εξής.

    Ο  SharePoint δεν είναι workflow σύστημα. Τα workflows που σου δίνει είναι παιδικά και αναγκαστικά θα γράψεις κώδικα....

    Άρα  θα το χρησιμοποιήσεις μόνο για document management.

    Η ερώτηση που έχω να σου κάνω είναι αν αξίζει??????  Αξίζει η επιπλέον πολυπλοκότητα ειδικά αν δεν έχεις άλλες απαιτήσεις. Γιατί να μην φτιάξεις μια asp.net εφαρμογή που θα στα κάνει αυτά?

    food for thought και το συζητάμε.
     



    Manos
  •  03-07-2009, 12:14 52204 σε απάντηση της 52200

    Απ: Navision - Sharepoint Integration

    Και εκει που την πάλευα με τα

    .......

    Dim ndQuery As XmlNode = xmlDoc.CreateNode(XmlNodeType.Element, "Query", "")

    Dim ndViewFields As XmlNode = xmlDoc.CreateNode(XmlNodeType.Element, "ViewFields", "")

    Dim ndQueryOptions As XmlNode = xmlDoc.CreateNode(XmlNodeType.Element, "QueryOptions", "")

    ndQueryOptions.InnerXml = "<IncludeMandatoryColumns>FALSE</IncludeMandatoryColumns>" + _

    "<DateInUtc>TRUE</DateInUtc>"

    ndViewFields.InnerXml = "<FieldRef Name='Name'/>"

    ndQuery.InnerXml = "<Where><FieldRef Name='Name'/>" + _

    "<Value Type='Text'>" + NavisionId + "</Value></Where>"

    Dim ndListItems As XmlNode = list.GetListItems("Navision Customers", Nothing, ndQuery, _

    ndViewFields, Nothing, ndQueryOptions, Nothing)

    ...

    και ξερω γω τι και δεν συμμαζευεται, αυτο το LINQ To Sharepoint ήρθε σαν μάνα εξ ουρανου Smile !

    Ευχαριστώ Παναγιώτη για τις εισηγήσεις! Τις έχω λάβει σοβαρά υπόψην!

    Μάνο, το αν αξίζει είναι σχετικό... To συγκεκριμένο project, με τις απαιτήσεις που έχει, ισως να μας έβγαινε καλύτερα με ASP .Net. Αυτό που έχει ομως μεγαλύτερη βαρύτητα είναι η επένδυση στο Sharepoint Development και το έχουμε δεί ώς μια ευκαιρία εμβάθυνσης και διεύρυνσης γνώσεων. Και για το άν αξίζει το Sharepoint development νομίζω ότι ο Παναγιώτης ειναι ο καλύτερος για να το πεί Smile! Είναι περισσότερο business wise απόφαση παρά technical wise...


    View Παναγιώτης Χαραλάμπους's profile on LinkedIn
    Coding at Mediterranean Acoustics
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems