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

 

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

Enable/Disable ανάλογα με δικαιώματα και άλλες συνθήκες

Îåêßíçóå áðü ôï ìÝëïò Dimitris Papadimitriou. Τελευταία δημοσίευση από το μέλος Demelene στις 26-02-2009, 21:26. Υπάρχουν 28 απαντήσεις.
Σελίδα 2 από 2 (29 εγγραφές)   < 1 2
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  13-11-2006, 22:58 20300 σε απάντηση της 20299

    Απ: Enable/Disable ανάλογα με δικαιώματα και άλλες συνθήκες

    Το "Μaking managed code fly" session, που έκανε ο Claudio Caldato, και μας έπηξε στο "It depends". Αν δεν κάνω λάθος, καθόσουν 2 σειρές πίσω μου ;]
    Angel
    O:]
  •  14-11-2006, 00:41 20305 σε απάντηση της 20298

    Απ: Enable/Disable ανάλογα με δικαιώματα και άλλες συνθήκες

     anjelinio wrote:
    ( Όπως θα'λεγε κι ο Claudio Νατάσα - ναί, ήμουν εκεί ... ;] - "It depends", ε; :D )

    (off-topic warning) Καλά, εγώ δεν είχα πάρει χαμπάρι ότι ήσουν Tech-Ed! Γιατί δεν μας βρήκες να τα λέγαμε από κοντά; Εκτός αν τα είπαμε αλλά δεν έχω συνδυάσει nick με πρόσωπο Embarrassed


    Vir prudens non contra ventum mingit
  •  14-11-2006, 00:58 20306 σε απάντηση της 20305

    Απ: Enable/Disable ανάλογα με δικαιώματα και άλλες συνθήκες

    ( equally off-topic warning :D ) ... φάγαμε μαζί το τελευταίο μεσημέρι Μάνο, μαζί με τον Patrick, τον Καναβό και άλλους, αλλά αυτή τη φορά προτίμησα να παραμείνω ... anonymous delegate !!! :D ( Σαν κάθε καλό geek, είμαι λίγο αντικοινωνικός μάλλον :D )

    Στο επόμενο DNZ event ! :)
    Angel
    O:]
  •  14-11-2006, 01:07 20308 σε απάντηση της 20306

    Απ: Enable/Disable ανάλογα με δικαιώματα και άλλες συνθήκες

    (και το off-topic συνεχίζεται) Α! Λες για το 5λέπτο lunch, όπου το μισό τραπέζι "μετανάστευσε" προς Burger-King?!
    Vir prudens non contra ventum mingit
  •  14-11-2006, 16:47 20338 σε απάντηση της 20308

    Απ: Enable/Disable ανάλογα με δικαιώματα και άλλες συνθήκες

    (off-topic: τα κουβαδάκια σας και σ' άλλη παραλία! εγώ το status του θέματος το έκλεισα!)

    :)
    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  14-11-2006, 17:04 20340 σε απάντηση της 20306

    Απ: Enable/Disable ανάλογα με δικαιώματα και άλλες συνθήκες

     anjelinio wrote:
    ( equally off-topic warning :D ) ... φάγαμε μαζί το τελευταίο μεσημέρι Μάνο, μαζί με τον Patrick, τον Καναβό και άλλους, αλλά αυτή τη φορά προτίμησα να παραμείνω ... anonymous delegate !!! :D ( Σαν κάθε καλό geek, είμαι λίγο αντικοινωνικός μάλλον :D )

    Στο επόμενο DNZ event ! :)


    Αντικοινωνικός ή όχι, στην κάμερα του Virtual Side δε σε είδα να δυσκολεύεσαι -- αν και δεν κατάλαβα ποιος από τους δύο είσαι Smile


    Νατάσα Μανουσοπούλου
  •  14-11-2006, 19:30 20353 σε απάντηση της 20340

    Απ: Enable/Disable ανάλογα με δικαιώματα και άλλες συνθήκες

    Χαχαχαχαχαχαχαχαχααα .. το 'ξερα οτι θα τα πληρώσω τα 15 δευτερόλεπτα φήμης !!! :D

    ... ο λέτσος. Αλλά ξυρίστικα τώρα.
    Angel
    O:]
  •  14-11-2006, 19:36 20354 σε απάντηση της 20353

    Απ: Enable/Disable ανάλογα με δικαιώματα και άλλες συνθήκες

    Εεεεε γκουχ γκουχ... Μιας και μαζεύουμε υλικό για την ερχόμενη δευτέρα, περιμένω PM με το link...
    Vir prudens non contra ventum mingit
  •  15-11-2006, 00:25 20361 σε απάντηση της 20354

    Απ: Enable/Disable ανάλογα με δικαιώματα και άλλες συνθήκες

    Και δημόσιο link να είναι, όχι ότι πειράζει... Big Smile

    Μιας και το έφερε η συζήτηση, όποιος θέλει να ανεβάσει φωτογραφίες στην έκθεση της Tech-Ed ή να κάνει δημοσίευση στο blog, μπορεί να μου στείλει ένα PM για να το κανονίσουμε...

     

    George J.


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
  •  01-04-2008, 13:53 41243 σε απάντηση της 20161

    Απ: Enable/Disable ανάλογα με δικαιώματα και άλλες συνθήκες

    Επαναφέρω το θέμα γιατί έπεσε το μάτι μου στο παρακάτω:

    http://www.c-sharpcorner.com/UploadFile/esubal/RoleBasesAccessUsingCSharpandXML03282007153010PM/RoleBasesAccessUsingCSharpandXML.aspx

    Συνοπτικά, σε ένα αρχείου XML καταγράφονται όλα τα controls μιας σελίδας, και για κάθε control δίνεται πληροφορία αν πρέπει να είναι enable/disable ή visible/invisible ανάλογα με τον χρήστη που προσπελαύνει τη σελίδα. Με βάση την πληροφορία που υπάρχει στο xml, γίνονται τα αντίστοιχα controls visible, enable κλπ..

    Πώς σας φαίνεται αυτή η λύση? (η διατήρηση των στοιχείων σε ένα απλό xml πχ..) Ο συγγραφέας του άρθρου θεωρεί ότι είναι εύκολο στη συντήρηση.. είναι όμως?? (εννοώ, δεν είναι και εύκολο να γίνουν λάθη, παραλήψεις κλπ?)

     

     

     

  •  01-04-2008, 15:25 41245 σε απάντηση της 41243

    Απ: Enable/Disable ανάλογα με δικαιώματα και άλλες συνθήκες

    Δεν έχω χρόνο να διαβάσω όλο το άρθρο, αλλά κώδικας που αναφέρει explicitely ονόματα οντοτήτων και ιδιοτήτων τους (π.χ. Invoice, Name) είναι δύσκολο να συντηρηθεί, εκτός και αν βγαίνει αυτόματα από code generation. Χωρίς να σημαίνω φυσικά ότι μπορούμε να βάλουμε ένα ολόκληρο σύστημα να βγει από code generation.

    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  02-04-2008, 15:33 41265 σε απάντηση της 41245

    Απ: Enable/Disable ανάλογα με δικαιώματα και άλλες συνθήκες

    Χρησιμοποιώ αυτό το approach για αρκετό καιρό - 3 χρόνια τουλάχιστον, όχι  μόνο για enable/disable/show/hide controls, αλλά και data binding και άλλα app-specific πράγματα. Το xml το οποίο δείχνει ο φίλος μας στο άρθρο, είναι παράλογα verbose ("πολυλογάδικο"), και πρόχειρο ...

    Αυτό το approach έχει, όπως και τα πάντα, τα υπέρ και τα κατά του ...

    • Ναί, δεν έχεις το compile-time safety του source code.


    .. αλλά ...

    • Δε χρειάζεται να είσαι ιδιέταιρα "developer" για να γράψεις xml. Ένας άνθρωπος που ξέρει λίγο html και τα βασικά του ASP.NET μπορεί να κάνει τη δουλειά, και έτσι να μπαίνει σιγά σιγά στην παραγωγή, ελαφρύνοντας τους core developers.
    • Με λίγο πιο "φιλικό" syntax, τα xml αρχεία αυτά διαβάζονται εν ριπή οφθαλμού, και είναι ξεκάθαρα.
    • Με λίγη προσοχή στο framework που τρέχει απο κάτω, και λίγο προσεγμένα error messages, μπορεί ο ίδιος που έκανε το λάθος να το διορθώσει σε δευτερόλεπτα.
    • Με λίγη προσοχή πάλι στο framework που τρέχει απο κάτω, μπορείς να δώσεις concrete xml elements, per control/entity type.
    • Και μόνο το ότι έχεις ένος είδους framework απο κάτω, άρα και ένα single point για αλλαγές και εξέλιξη στο τί μπορείς να κάνεις, είναι για μένα, ίσως κι απο μόνο του, αρκετό επιχείρημα.

    ... το ότι έχεις γράψει όλα αυτά σε pure C#/VB ή κάτι τέτοιο ... δε σημαίνει ότι ΔΕ θα έχεις λάθη μετά. Και σε αυτή την περίπτωση, προτιμούμε να κάνουμε recompile / upload / deploy με downtime, ή edit στο notepad ένα xml αρχείο, χωρίς restart του application; Όταν αλλάξει κάτι; Κάποιος νέος ρόλος, ή οτιδήποτε σχετικό; Τα ίδια κι εδώ.

    Αυτή είναι η γνώμη μου - configure και βασίλευε :D

    Angel
    O:]
  •  02-04-2008, 15:40 41266 σε απάντηση της 41265

    Απ: Enable/Disable ανάλογα με δικαιώματα και άλλες συνθήκες

    anjelinio:
    • Με λίγο πιο "φιλικό" syntax, τα xml αρχεία αυτά διαβάζονται εν ριπή οφθαλμού, και είναι ξεκάθαρα.

    Να προσθέσω ότι και με την βοήθεια ενός xsd μπορείς να βοηθήσεις τον συντάκτη του xml καθώς θα έχει και design-time validation και intellisense σε αρκετά πράγματα.

    ps. τελικά δεν μπόρεσα ποτέ να βρω έναν απλό, freeware xml editor που, όταν υπάρχει xsd πίσω από το xml, να προσφέρει και intellisense.... μην απαντήσετε σε αυτό το thread αλλά σε αυτό!


    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  26-02-2009, 21:26 48763 σε απάντηση της 20299

    Απ: Enable/Disable ανάλογα με δικαιώματα και άλλες συνθήκες

    Εγω πάντως ειχα φτοιάξει το κάτι που το είχα βαπτίσει StateMachine.

    Εν ολίγοις ουσιαστικά έφτοιαχνες κάτι που ήταν ένα συνολο από συνθήκες.

    Ειχε διαφόρους τρόπους που έφτοιαχνες αυτές τις συνθήκες. Κατα βάση όριζες το source object, το property και το invalid value και αυτό με reflection ήξερε πάντα πως να μαθαίνει αν η τιμή του property άλλαξε.

    Αυτό το αντικείμενο με τις συνθήκες, ειχε και ένα στοχο source/property στο  οποίο ανάλλογα έθετε value αναλλόγως με το evaluation των παραπάνω συνθηκών.

    Το πράγμα φυσικά ήταν εντελώς thread safe και συνεργαζόταν άψογα, με μια δευτερη βιβλιοθήκη για workers.

    Εν ολίγοις με ένα εντελώς καθαρό τρόπο όριζες συνθήκες (ανα γραμμή) και σε άλλη μια τι θα συνέβαινε και πραγματικά το module έπαιζε απίστευτα καλά.

    Για την ιστορία αυτό είχε φτοιαχθεί για dynamic φόρμες που κάθε μια είχε required πεδία, άλλα φορτωνόντουσαν δυναμικά από κάποιο worker και φυσικά ήθελες κουμπιά και άλλα να γινονται πχ enable/disable αναλλόγως.

    Και πραγματικά κάθε κουμπί ήταν enabled μονο όταν έπρεπε και γενικά μια ολόκληρη φόρμα υπογόρευε το state των controls της, με τιποτα άλλο πέρα από την δημιουργία states και συνθηκών.

    Μια παραπλήσια τεχνική έχω ακολουθήσει και σε WPF γιατι το παραπάνω παίζει μονο για Winforms και το έχω βαπτίζει Evaluation Machine καθώς κάνει evaluate το αν ένα Command είναι δυνατόν να εκτελεστεί ή όχι. Η λογική είναι ίδια. Ένα αντικείμενο στο οποίο εισάγονται συνθήκες. Η βασική διαφοροποιήσει ειναι ότι το evaluation κάνει evaluate μονο όποτε του πει το command και τότε απλά ρωτάει για τις τιμές, ενώ στο state αυτό αντιδρούσε πάντα όταν συνέβαινε κάτι σε κάποιο από τα αντικείμενα που έκανε monitor.

    Η ευκολία με την οποία προστίθεται μια συνθήκη ή αφαιρείται είναι απίστευτη. Ουτε κοιτα το τάδε changed event ουτε τίποτα.

    Μοναδικό του ελάτωμα είναι ότι τότε δεν ήξερα για το RulesEngine του .NET3.5

Σελίδα 2 από 2 (29 εγγραφές)   < 1 2
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems