یه درخواستی سمت ما اومد که زبانهای اضافیه صفحه لاگین این سیستم رو برداریم
تو صفحه لاگین OBIEE 11g اگه دقت کرده باشید تو قسمت انتخاب زبانها یه لیست کشویی از انواع زبانها داره:
برای انجام اینکار اول مراجع مربوطه رو نگاه میکنیم:
https://docs.oracle.com/cd/E23549_01/bi.1111/e10541/webuicustom.htm
https://docs.oracle.com/cd/E23549_01/bi.1111/e10541/deploylocal.htm
خب بخشی که توجه ما رو جلب میکنه بخش پایینه:
درخواست ما به این شکله که فقط زبان فارسی(به صورت rtl) و انگلیسی تو این بخش نشون داده بشه پس اول فولدر زبانها رو از پست زیر دانلود میکنیم و فولدر messages رو تو مسیر زیر قرار میدیم:
http://mghaffari.blog.ir/post/281
/middleware/Oracle_BI1/bifoundation/web/msgdb/l_ar
حالا چرا نوشتههای فارسی رو تو فولدر عربی میذاریم به این علته که obi به صورت از پیش تعریف شده زبان عربی رو rtl میکنه و کلا براش از استایلهای css جدا (rtl) استفاده میکنه
بعد از انجام اینکار فولدر تمام زبانها به غیر از انگلیسی و عربی رو پاک میکنیم یه روش برای اینکار استفاده از تکنیکه:
rm -rf {folder1,folder2,folder3,so on...}
تو این مرحله وقتشه که فولدر زیر رو باز کنیم و فایل languagenames.xml رو ویرایش کنیم:
/middleware/Oracle_BI1/bifoundation/web/msgdb/messages
vim languagenames.xml
محتویات این فایل به شکل زیر هستش:
نوبته اینه که زبانهای اضافی رو از این فایل پاک کنیم تا دیگه فولدرهاش خونده نشه پس فایل ما به این شکل درمیاد:
نکته: برای پاک کردن چندین خط تو vim به صورت (start_line_no],[end_line_no]d]:) عمل کنید مثلا: 45,101d:
نکته: حتما خواستون باشه خط و فولدر مربوط به زبان انگلیسی باشه
شاید با خودمون فک کنیم الان دیگه کار تمومه و اگه کامپوننتها رو پایین بالا کنیم همه چی قراره درست بشه اما متاسفانه اینطور نیست
اگه به صفحه لاگین برگردید با یه همچین صفحهای مواجه میشید:
دقیقا نمیدونم چرا اینطور میشه و هیچ راهنمایی برای حذف زبانهای نمایشی صفحه لاگین پیدا نکردم (حتی خیلی سعی کردم فایل xhtml مربوطه رو پیدا کنم و تگهایی رو ویرایش یا حذف کنم ولی موفق نشدم)
تنها راهکاری که فعلا برای این موضوع پیدا کردم استایل css هستش
این استایل رو برای مخفی کردن این آیتمها ایجاد کردم:
option[value="cs"]
{
display: none;
}
option[value="da"]
{
display: none;
}
option[value="de"]
{
display: none;
}
option[value="el"]
{
display: none;
}
option[value="es"]
{
display: none;
}
option[value="fi"]
{
display: none;
}
option[value="fr"]
{
display: none;
}
option[value="he"]
{
display: none;
}
option[value="hr"]
{
display: none;
}
option[value="hu"]
{
display: none;
}
option[value="it"]
{
display: none;
}
option[value="ja"]
{
display: none;
}
option[value="ko"]
{
display: none;
}
option[value="nl"]
{
display: none;
}
option[value="no"]
{
display: none;
}
option[value="pl"]
{
display: none;
}
option[value="pt"]
{
display: none;
}
option[value="pt-BR"]
{
display: none;
}
option[value="ro"]
{
display: none;
}
option[value="ru"]
{
display: none;
}
option[value="sk"]
{
display: none;
}
option[value="sv"]
{
display: none;
}
option[value="th"]
{
display: none;
}
option[value="tr"]
{
display: none;
}
option[value="pt-BR"]
{
display: none;
}
option[value="ro"]
{
display: none;
}
option[value="zh-TW"]
{
display: none;
}
option[value="ru"]
{
display: none;
}
option[value="zh-CN"]
{
display: none;
}
option[value="tr"]
{
display: none;
}
option[value="th"]
{
display: none;
}
option[value="sv"]
{
display: none;
}
option[value="sk"]
{
display: none;
}
دریافت استایل مربوطه
حجم: 1.3 کیلوبایت
حالا برای ویرایش فایل css باید چندتا گام برداریم اولیش پیدا کردن تمام فایلهای این css تو تمام دایرکتوریهاست پس:
find / -name login.css
/middleware/wlserver_10.3/server/lib/consoleapp/consolehelp/css/login.css
/middleware/wlserver_10.3/server/lib/consoleapp/webapp/css/login.css
/middleware/user_projects/domains/bifoundation_domain/servers/bi_server1/tmp/_WL_user/analytics_11.1.1/7arqd/war/res/sk_Skyros/login/login.css
/middleware/user_projects/domains/bifoundation_domain/servers/bi_server1/tmp/_WL_user/analytics_11.1.1/7arqd/war/res/sk_Skyros/login/rtl/login.css
/middleware/user_projects/domains/bifoundation_domain/servers/bi_server1/tmp/_WL_user/analytics_11.1.1/7arqd/war/res/sk_blafp/login/login.css
/middleware/user_projects/domains/bifoundation_domain/servers/bi_server1/tmp/_WL_user/analytics_11.1.1/7arqd/war/res/sk_blafp/login/rtl/login.css
/middleware/user_projects/domains/bifoundation_domain/servers/bi_server1/tmp/_WL_user/analytics_11.1.1/7dezjl/war/res/sk_Skyros/login/login.css
/middleware/user_projects/domains/bifoundation_domain/servers/bi_server1/tmp/_WL_user/analytics_11.1.1/7dezjl/war/res/sk_Skyros/login/rtl/login.css
/middleware/user_projects/domains/bifoundation_domain/servers/bi_server1/tmp/_WL_user/analytics_11.1.1/7dezjl/war/res/sk_blafp/login/login.css
/middleware/user_projects/domains/bifoundation_domain/servers/bi_server1/tmp/_WL_user/analytics_11.1.1/7dezjl/war/res/sk_blafp/login/rtl/login.css
/middleware/user_projects/domains/bifoundation_domain/servers/bi_server1/tmp/_WL_user/bipublisher_11.1.1/to5gma/war/xdo/styles/login.css
/middleware/user_projects/domains/bifoundation_domain/servers/bi_server1/tmp/_WL_user/bimad_11.1.1/hkbdzw/war/xdo/styles/login.css
/middleware/user_projects/domains/bifoundation_domain/servers/AdminServer/tmp/_WL_user/emai/xalnv4/ai/sca/share/audit/nfdg/styles/login.css
/middleware/user_projects/domains/bifoundation_domain/servers/AdminServer/tmp/_WL_user/em/jmb4hf/war/skins/login.css
/middleware/instances/instance1/tmp/OracleBIPresentationServicesComponent/coreapplication_obips1/earmanager/analytics/e+E24fcEBLbMV_YRRtPnAg/res/sk_Skyros/login/login.css
/middleware/instances/instance1/tmp/OracleBIPresentationServicesComponent/coreapplication_obips1/earmanager/analytics/e+E24fcEBLbMV_YRRtPnAg/res/sk_Skyros/login/rtl/login.css
/middleware/instances/instance1/tmp/OracleBIPresentationServicesComponent/coreapplication_obips1/earmanager/analytics/e+E24fcEBLbMV_YRRtPnAg/res/sk_blafp/login/login.css
/middleware/instances/instance1/tmp/OracleBIPresentationServicesComponent/coreapplication_obips1/earmanager/analytics/e+E24fcEBLbMV_YRRtPnAg/res/sk_blafp/login/rtl/login.css
/middleware/oracle_common/rda/da/public_html/ui/login/login.css
از اونجایی که obi یه مکانیزم کش سمت سرور داره مسیر فایلها برای هر محیطی متفاوته
خب حالا کدوم استایلها برای ویرایش مهمان؟ جوابش یه inspect elemnt ساده است:
اینجا از کنسول سمت راست روی login.css راست کلیک میکنیم:
حالا تو تب جدید URL رو نگاه میکنیم:
:9704/analytics/res/v-UBtil9ur9Q4/sk_Skyros/login/login.css
تو این URL برای ما دایرکتوری sk_Skyros خیلی مهمه پس تو مسیرهای به دست اومده از مرحله قبلی هر فایل css ای که تو این دایرکتوری هستش رو ویرایش میکنیم.
بعد از اضافه کردن استایلها به فایلهای css کافیه یه بار لایه presentation رو از طریق em ریستارت کنیم یا اگه براتون مقدوره یکبار تمام کامپوننتهای obi رو از اول پایین بالا کنید
حالا وقتشه مرورگرتون رو باز کنید کشها رو پاک کنید(به طور معمول با ctrl+shift+f5 یا تو مک با command+shift+r) یا یه private windows باز کنید و صفحه رو لود کنید:
پینوشت:
همونطور که تو متن بهش اشاره کردم موقع نوشتن این مطلب راهکاری برای حذف زبانها به صورت استاندارد پیدا نکردم و با استایل نوشته شده به صورت دستی آیتمها رو از لاگین مخفی کردم بعد از کلی تحقیق راهکار صحیح رو اضافه میکنم:
در OBIEE 11g ما فایلی به اسم instanceconfig داریم که نیازه اون رو با اضافه کردن تگ <Localization> ویرایش کنیم.
فایل instanceconfig.xml به طور معمول در همچین مسیر قرار داره:
<BI_HOME>/instances/instance3/config/OracleBIPresentationServicesComponent/coreapplication_obips1
برای مثال:
C:\OBIEE_11g\instances\instance3\config\OracleBIPresentationServicesComponent\coreapplication_obips1
یا
/middleware/instances/instance1/config/OracleBIPresentationServicesComponent/coreapplication_obips1
برای ویرایش فایل به آخر فایل بیاین و خطوط زیر رو جایگزین کنید:
</Authentication>
<Localization>
<AllowedLanguages>en,ar</AllowedLanguages>
<AllowedLocales>en-us,ar-ae</AllowedLocales>
</Localization>
</ServerInstance>
</WebConfig>
حالا یکبار کامپوننت Presentation Server را ریستارت کنید.
خب اگه ما الان بیایم از صفحه لاگینمون inspect elemnt بگیریم دیگه زبانهای اضافه رو تو تگهای مربوط نمیبینیم:
توضیحات
AllowedLanguages(زبانهای مجاز): زبانهایی که قابل انتخاب هستند به شکل یک فهرست که با ویرگول از هم جدا شدهاند مشخص میشوند. میتوانید فهرستی از کدهای زبانها که بر مبنای استاندارد ISO 639 هستند را در لیست زیر ببینید:
ar
es
da
de
el
en
es
fi
fr
he
hr
hu
it
ja
ko
nl
no
pl
pt
ptBR
ro
ru
sk
sv
th
tr
zhCN
zhTW
AllowedLocales(مناطق جغرافیایی مجاز): مناطق جفرافیاییای که قابل انتخاب هستند به شکل یک فهرست که با ویرگول از هم جدا شدهاند مشخص میشوند. میتوانید از هر تعریفی که در فایل localedefinitions.xml واقع در دایرکتوری ORACLE_HOME/bifoundation/web/display است استفاده کنید. شما باید مناطق جغرافیایی را با استفاده از کدهای زبانی ISO 639 و قرار دادن کدهای کشور ISO 3166 در کنار آنها مشخص کنید مانند fr-fr (فرانسوی-فرانسه) و fr-ca (فرانسوی-کانادا)