بتاريخ: 2 أكتوبر 201114 سنة comment_216111 السلام عليكمفي البداية أشكر الاستاذ مصطفى على ملفات الفيديو التي تشرح adf بشكل مبسط وجميلمع العلم أنه لدي بعض التحفظ على الأدوات التي يستخدمها لتحويل الفورم إلى adf ومن أهمها:1- الشاشات الناتجة تبقى بنفس روح الفورم ولا تتسم بجماليات الويب التي تتيحها adf2- لا حظت وجود كود غريب وهو الكود الرديف لتعليمات الفورم أي هل المطلوب تعلم لغة جديدة غير قياسية.3- في حال الرغبة بتطوير النظام الناتج فإنه سيحدث إرباك نتيجة وجود كود غريب ضمن النظام.4- بما أن نسبة التحويل هي 80% إذا يبقى 20% هي عبارة عن تصحيح أخطاء وتعديل بالشاشات وهذا أعتقد أنه يحتاج إلى 60% من الوقت فيما لو أننا بدأنا بالتصميم من البداية بدون عملية التحويل. الآن لدي سؤال حول عملية جعل الشاشات متعددة اللغات علما أنني قمت بكل مايلزم حسب ماورد في كتابWeb User Interface Developer's Guide for Oracle ADF.pdf أي أنني قمت بمايلي:1- بناء ملف آخر للغة الانكليزية وهو vcResourceBundle_en يتضمن المرادفات الانكليزي2- تعرف res ضمن faces-config.xml مع اللغات المدعومة3- ربط حقول الشاشة بالـ res المقابل4- بناء backing bean بحيث تتضمن متغير يقوم بتخزين قيمة اللغة المطلوبة (en أو ar)5- جعل المستخدم يغير قيمة اللغة ضمن backing bean6- جعل قيمة f:view tag ضمن الصفحات هي نفس قيمة متغير backing beanالآن عندما يقوم المستخدم بتغيير اللغة تتغير ضمن الصفحة الحالية ولكن عندما أنتقل لصفحة أخرىتعود إلى اللغة الافتراضية، وكذلك لم أستطع تغير اتجاه الشاشة رغم أني وضع الشرط ضمن ملف trinidad-config.xml أرجو منكم المساعدة وإذا كان مع قليل من الكود أكون أكثر شكرا لكم تقديم بلاغ
بتاريخ: 2 أكتوبر 201114 سنة comment_216121 الحقيقه ان الطريقه دى تنقصها حاجات كتير اولا احنا بنعمل ثلاث ملفات وليس واحد واحد للعربى والثانى للانجليزى والثالث للغه اللى عاوزها اذا لم يستطع البرنامج تحديد اللغه المستخدمه وبنعمل load Bundle وكمان مبنعملش backing bean للغه ولكن الطريقه اللى بستخدمها بنضع فيها action Listener على ال Button الخاص باللغه وهو اللى يحدد اى لغه حنستخدمها تقديم بلاغ
بتاريخ: 3 أكتوبر 201114 سنة كاتب الموضوع comment_216144 الحقيقه ان الطريقه دى تنقصها حاجات كتير اولا احنا بنعمل ثلاث ملفات وليس واحد واحد للعربى والثانى للانجليزى والثالث للغه اللى عاوزها اذا لم يستطع البرنامج تحديد اللغه المستخدمه وبنعمل load Bundle وكمان مبنعملش backing bean للغه ولكن الطريقه اللى بستخدمها بنضع فيها action Listener على ال Button الخاص باللغه وهو اللى يحدد اى لغه حنستخدمها شكرا على الرد وأنا سأحاول ستخدام طريقة load Bundle علما أن الخطوات السابقة هي التي مذكورة في الكتاب ويوجد فقرة في الكتاب تقول:With JSF 1.2 you are not required to load the base resource bundle on each page inyour application with the <f:loadBundle> tag.على كل حال هل يمكنك كتابة ترتيب الخطوات لاستخدام طريقتك الخاصة أو هل يوجد لينك لديمو يشرح هذه العمليةعلما أنني ضمن البرنامج الذي أعمل عليه أريد أن أضع المفاتيح التي تقوم بتغيير اللغة ضمن template حتى لا أكررها ضمن الصفحاتوأعتقد أن هذا الأمر منطقي، أو كأن هناك حلقة ناقصة لا أفهمها....!! مع الشكر سلفا وآسف على الإطالة. تقديم بلاغ
بتاريخ: 3 أكتوبر 201114 سنة comment_216152 ده ابليكيشن بينفذ اللى انت عاوزه من تغيير اللغه للعربى والانجليزى وعلى فكره مستخدمناش load Bundle لاننا سجلنا ال Bundle فى ال resource Bundle فى ملف ال Faces-config,xml والبرنامج فيه template موضوع فيه البوتون الخاص بالعربى والبوتون الخاص بالانجليزى اعمل Run لصفحة ال home ومنها روح على صفحة ال main Changelang.rar تقديم بلاغ
بتاريخ: 4 أكتوبر 201114 سنة كاتب الموضوع comment_216171 مشكورة أخت هالة على الكود وخاصة التعليمةADFContext.getCurrent().setLocale(newLocale);في الحقيقة لقد كنت أسير على نفس هذا الطريق ولكني بدل من استخدام التعليمة السابقة كنت قد استخدمت كلاس CustomPhaseListener ومن ثم عدلت ضمن beforePhaseحيث في حال كان (phase.equals(ADFLifecycle.PREPARE_MODEL_ID أقوم بتعديل اللغة وفق التعليمةFacesContext.getCurrentInstance().getViewRoot().setLocale(newLocale);علما أن هذه الطريقة قرأتها من كتاب Oracle Fusion Developer Guideوهي تتطلب أيضاphase listener must registered with the application in the adf-settings.xml fileالأسئلة الناتجة الآن هي:1- لماذا يوجد طرق متعددة لحل المشكلة (كل كتاب يحلها بطريقة مختلفة) علما أنها عملية قياسية يجب أن تحل بطريقة واحدة2- متى نحتاج إلى التعامل مع beforePhase للصفحات لأنني جديد ضمن هذه التقنية3- بقي شيء واحد لايعمل وهو عندما أقوم باستدعاء شاشة مرتبطة بصلاحيات عندها يتم استدعاء logon باللغة الافتراضية دائما وهي العربية علما أنه كنت قد قمت بتحويلالنظام إلى اللغة الانكليزية.4- لماذا ملف adf-settings.xml موجود ضمن الديمو الذي أرسلتيه إلي ولماذا هو فارغ أي باختصار لماذا يستخدم آسف مرة أخرى على الإطالة بس والله adf بحر عميق وبدها واحد سبيحوشكرا سلفا تقديم بلاغ
بتاريخ: 4 أكتوبر 201114 سنة comment_216175 الأخ mhawad:أشكر لك ملاحظاتك وإجاباتي عليها كالتالي: 1- الشاشات الناتجة تبقى بنفس روح الفورم ولا تتسم بجماليات الويب التي تتيحها adfهذا غير صحيح فالشكل الناتج يتبع قالب يتسم بجمال الشكل ويمكنك الاطلاع على مثال للشكل الناتج ولعرض كامل لأداتنا للتحويل من هذا الرابط http://www.sd4it.com...az_demo_01.html 2- لا حظت وجود كود غريب وهو الكود الرديف لتعليمات الفورم أي هل المطلوب تعلم لغة جديدة غير قياسية.هذا أيضاً غير صحيح حيث تقوم الأداة بالتحويل لكود جافا القياسي مع وجود بعض المكتبات المطورة من شركتنا للمساعدة في التحويل حيث لا يلزم تطوير أوامر PL/SQL من جديد 3- في حال الرغبة بتطوير النظام الناتج فإنه سيحدث إرباك نتيجة وجود كود غريب ضمن النظام.كما ذكرت في النقطة السابقة فلا يوجد كود غريب 4- بما أن نسبة التحويل هي 80% إذا يبقى 20% هي عبارة عن تصحيح أخطاء وتعديل بالشاشات وهذا أعتقدأنه يحتاج إلى 60% من الوقت فيما لو أننا بدأنا بالتصميم من البداية بدون عملية التحويل.المقصود بنسبة التحويل 80% هي توفير 80% من الوقت والجهد المطلوب للتحويل وبالتالي يتبقى 20% فقط الأخت هالة:لا يلزم إنشاء 3 ملفات لأن ملف اللغة الافتراضية هو في الواقع أحد الملفات المتاحة في النظام وبالتأكيد سيكون مكرراً. يكفي الإشارة إلى اللغة الافتراضية من الملف faces-config. توجد بعض الأسئلة وهذه هي إجاباتها: 1- لماذا يوجد طرق متعددة لحل المشكلة (كل كتاب يحلها بطريقة مختلفة) علما أنها عملية قياسية يجب أن تحل بطريقة واحدةلا توجد طرق مختلفة. في JSF يتم التغيير عن طريق FacesContext.getCurrentInstance().getViewRoot().setLocale(newLocale); وهي أيضاً تعمل في ADF ولكن ما حدث أن أوراكل أضافت بعض المتغيرات الخاصة بـ ADF لتؤدي نفس الغرض بحيث لا تحتاج كثيراً إلى معرفة JSF 2- متى نحتاج إلى التعامل مع beforePhase للصفحات لأنني جديد ضمن هذه التقنيةإن أي صفحة تمر بدورة حياة Lifecycle ، وقد تريد تنفيذ كود معين قبل تنفيذ أي مرحلة من هذه المراحل ، فمثلاً لكي تدعم أدوات الـ ADF تقنية AJAX فيوجد كود يتم تنفيذه لذلك اثناء دورة حياة الصفحة ، وهذا الاحتياج متقدم جداً ولن تحتاجه غلا في حالات نادرة جداً. طالما أنك مبتدئ فلا تشغل بالك به في الوقت الحالي 3- بقي شيء واحد لايعمل وهو عندما أقوم باستدعاء شاشة مرتبطة بصلاحيات عندها يتم استدعاء logon باللغة الافتراضية دائما وهي العربية علما أنه كنت قد قمت بتحويلالجملة ناقصة وتحتاج إلى تكملة لمعرفة المشكلة بالضبط وما الذي قمت بعمله عموماً يمكنك الاطلاع على هذا الدرس http://www.sd4it.com...ideos/ch07.html حيث يشرح آلية تعديل اللغة. رغم أن الفيديو يشرحه من خلال JSF إلا ان الطريقة المتبعة واحدة تقريباً فيما عدا استخدام loadbundle تقديم بلاغ
بتاريخ: 5 أكتوبر 201114 سنة كاتب الموضوع comment_216225 مرحبا استاذ مصفى1- بالنسبة للكود الغريب الذي شعرت بوجوده فهو ما شاهدته في نهاية مقطع الفيديو رقم 21 (يمكنك مشاهدت الصور المرفقة) وهو على ما أعتقد مزيج من الجافا و pl sql متحدين بطريق غريبة ...!!2- بالنسبة لعملية التحويل من عربي للانكليزي فأشكرك أنت والأخت هالة على ما قدمتموه لي، ولكن للأسف لا تزال شاشة logon تفتح دائما باللغة الافتراضية أي العربية، علما أن مايميز هذه الشاشة هو وجود الكود التالي ضمن مفتاح logon والذي هو عبارة عن navigationItem ومكتوب ضمن الخاصية destination الخاصة به الكود التالي:#{securityContext.authenticated ? '/adfAuthentication?logout=true&end_url=/faces/home' : '/adfAuthentication?success_url=/faces/home'} مع الشكر تقديم بلاغ
بتاريخ: 5 أكتوبر 201114 سنة comment_216226 الأخ mhawad:إن الأداة تقوم بتحويل ما تستطيع تحويله تلقائياً ، وما لا تستطيع تحويله آلياً فيظل كما هو للمبرمج لكي يقوم بتعديله يدوياً وهذا يعني أن الكود الناتج ليس نهائياً ويحتاج للمعالجة اليدوية.بالنسبة لموضوع اللغة فأعتقد أن تسلسل عملياتك غير واضح ، ولكي نصل لحل المشكلة فقم بوصف تسلسل العمليات التي تقوم بها (مثلاً فتحت صفحة كذا ثم ضغطت كذا) حتى نصل إلى السيناريو الذي سبب المشكلة تقديم بلاغ
بتاريخ: 5 أكتوبر 201114 سنة comment_216240 شوف لما تستدعى صفحة اللوجين طبيعى جدا انها ترجع لل Default لان فى الكود اللى كاتبه انت بتعمل logout وكمان redirect لصفحة اللوجين وفى حاجه معروفه ان redirection making the application fallback to the default locale الحل انك تغير موضوع ال redirect لحاجه تانيه او انك تجرب انك تضع فى ال locale الخاص بصفحة الlogin فى ال view tag الlocal الموجود فى الكلاس بتاعتك تقديم بلاغ
بتاريخ: 8 أكتوبر 201114 سنة comment_216303 الأخت هالة:موضوع redirect لا يؤثر على مسألة الـ locale لأنه يتم حفظه في الـ session.الأخ mhawad:كما ذكرت لك ، اذكر سيناريو محدد مع الكود حتى نستطيع أن نحدد سبب المشكلة تم تعديل 8 أكتوبر 201114 سنة بواسطة sd4it تقديم بلاغ
بتاريخ: 9 أكتوبر 201114 سنة comment_216331 يا اخ / sd4it معروف ان ال redirect بيرجع ال browser لل default بتاعه الا فى حالة استخدام تكنيك اخر علاوه على انه اصلا بيعمل logout من السيشن تقديم بلاغ
بتاريخ: 9 أكتوبر 201114 سنة comment_216334 الأخت هالة:ما تذكرينه غير صحيح.لا علاقة بين الرجوع إلى الـ default locale وبين الـ redirect حيث أنه في كافة الأحوال يجب حفظ الـ locale في الـ session للاحتفاظ به.كلامك صحيح في حالة عمل logout لأنه في هذه الحالة يدمر الـ session وبالتالي بدون تكنيك معين فسيتم فقد الـ locale الحالي وبالتالي يتم الرجوع إلى الوضع الافتراضي.يمكنك التجربة بنفسك للتأكد عن طريق إنشاء نظام يتكون من شاشتين بحيث ييكون هناك تنقل بين الشاشتين ثم قومي بتغيير نوع الـ navigation مرة يكون redirect بالقيمة true ومرة أخرى false وسترين أنها غير مؤثرة والاثنان واحد تقديم بلاغ
بتاريخ: 9 أكتوبر 201114 سنة كاتب الموضوع comment_216342 شكرا للأخت هالة وللأخ مصطفىأنا مشكلتي انحلت بمجرد وضع local ضمن view شاشة logon أي :<f:view locale="#{changeLocale.lang}">أما بالنسبة لترتيب الكود الخاص بي فهو بسيط:1- مفتاح وحيد خاص بالدخول والخروج وهو عبارة عن navigationItem ومكتوب ضمن الخاصية destination الخاصة به الكود التالي:#{securityContext.authenticated ? '/adfAuthentication?logout=true&end_url=/faces/home' : '/adfAuthentication?success_url=/faces/home'}ويتم تغيير text الخاص به حسب securityContext.authenticated2- مفتاحين خاصين بالتحويل للعربي والانكليزي مرتبطين بmanaged bean سؤالي للأخ مصطفىأنت قلت يجب حفظ الـ locale في الـ session للاحتفاظ به وأنا لم أقم بهذه العملية، كيف يتم ذلك وأين؟؟؟ وشكرا سلفا تقديم بلاغ
بتاريخ: 24 مايو 201213 سنة comment_224912 يتم ذلك في كود تغيير اللغة السلام عليكم و رحمة الله و بركاتهشكرا للجميع على هذه المساهمة الرائعه و لقد استفدت كثيرا من النقاشالسؤال هو شغلت ابلكيشن الاخت هاله و لكن العربي يظهر ؟؟؟؟؟؟؟ و الغريب ان كلمة عربي في التمبلت ظاهره صحيحه و مقروءهمع العلم اني استخدم فيرفوكس و العربي و الانكليزي معرفتينو شكرا تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.