विषयवस्तु पर जाएँ
KAMOUniverse

परिवर्तन लॉग

क्या नया है.

यह जहाज के रूप में, प्लेटफार्म के हर सुधार.

  1. · kamo-shared-library

    Delete View DASHBOARD, VIEW REPORTS and EXPORT REPORTS

    सभी तीन नाम वाले पृष्ठ जो डिस्क पर मौजूद थे और कुछ भी नहीं थे: ऐप / डैशबोर्ड सीधे i18n, app/reports आयातित framer-motion से बाहर नमूना पोस्ट प्रदान किया गया और अगली-intl और बिल्कुल भी कोई डेटा नहीं है, और कहीं भी कोई रिपोर्ट इंजन या निर्यात पथ नहीं है मंच में। न तो पृष्ठ नवीरेगिस्ट्री से जुड़ा हुआ था और न ही ऐपटाइप का दावा किया गया उन्हें - वह परीक्षण जिसने रेफरल-कोड अधिकार को जीवित रखा, क्योंकि मार्केटिंग विज्ञापन जिन्हें COMPLETED कहा जाता है। View TASKS (120) को इन के साथ ट्रिग किया गया था और जानबूझकर रखा गया है। app/tasks स्रोत में दूसरे दो से अविस्मरणीय - अपरिवर्तनीय, अप्रयुक्त, शुद्ध उपयोगराज्य, i18n 22 भाषाओं में अनुवादित - और पूरा होने के लिए निर्धारित किया गया है। एक छोड़ दिया गया है और एक रोडमैप के बगल में है, और केवल उत्पाद मालिक को पता था कि कौन सा है। वर्गीकरण 193/130/33/30 190/129/32/29, 61 जड़ें बन जाती हैं। सभी चार संख्याएं चलती हैं: एक स्टैंडअलोन, एक जड़ जो अपने एकमात्र बच्चे को खो देती है, और उस बच्चे को। आईडी 0, 1 और 2 को जला दिया जाता है। ध्यान दें कि 0 एक वास्तविक आईडी है - VIEW DASHBOARD पहले था अभी तक घोषित - इसलिए कोई भविष्यवाणी जो छूता है, उनमें शून्य होना चाहिए सत्यता पर दुबला से।.

  2. · kamo-internal

    विज़ार्ड के ऐप्स और फीचर्स स्टेप पर ऐप आइकन

    मेक-नेटवर्क विज़ार्ड ने प्रत्येक ऐप को अपने नाम के पहले अक्षर के रूप में वापस ले लिया, इसलिए एक ही ऐप सेटिंग्स पर एक स्टोरफ्रंट था -> यहाँ सुविधाएँ और एक "S"। आइकन पहले से ही अस्तित्व में थे - वे फीचर मैनेजर के स्थानीय आइकनमाप के अंदर बंद हो गए थे। उस तालिका को ************* द्वारा कुंजी सर्विसटाइप, और दोनों सतहों को उस पर इंगित करता है ताकि वे बहाव नहीं कर सकें। दो जोड़े एप्लिकेशन फीचर्स स्क्रीन में कभी भी प्रवेश नहीं हुआ (सीएएलसीयूलेटर नेव रेल को लेता है) गणना, फ़ीड लेता है DynamicFeed), deprecated नाम aliases, और एक app-grid पतझड़ -- nav/settingstopicIcons.ts के समान आकार। हर glyph फ्लैट वर (-रंग-प्राथमिक) है कि क्या ऐप चालू या बंद है: बीस प्रत्येक अपने रंग में पहुंचने वाले उत्पादों को एक ransom नोट के रूप में पढ़ा जाएगा। चालू / बंद टाइल टिंट और स्विच के साथ रहता है। अगर एक लाइव सर्विस टाइप में कोई आइकन नहीं है तो गार्ड टेस्ट बिल्ड को विफल कर देता है - अन्यथा एक नए सूचीबद्ध ऐप जहाजों को अनाम ग्रे वर्ग के रूप में और कुछ भी शिकायत नहीं करता है।.

  3. · kamo-internal

    लोडिंग स्क्रीन लोगो के लिए एक ठोस रंग की ओवरले भी

    होम पेज के तहत सीधे "लोडिंग स्क्रीन लोगो ओवरले" जोड़ता है ************* एक ही तेरह विकल्प के साथ, पृष्ठ नेविगेशन के बीच दिखाए गए स्क्रीन पर लोगो को लागू करना। डिफ़ॉल्ट कोई ओवरले नहीं है, इसलिए किसी ओर के लिए कुछ भी परिवर्तन नहीं होता है जो कभी मैदान नहीं खुलता है। इसके बजाय एक घर पृष्ठ के साथ साझा करने के बजाय खुद की सेटिंग, क्योंकि दो सतहों में विपरीत पृष्ठभूमि होती है: एक सफेद मास्टहेड और एक अंधेरे ढाल। जो छाया पढ़ती है वह शायद ही कभी छाया है जो दूसरे पर पढ़ती है, और एक सेटिंग एक विकल्प है कि कहीं गलत है मजबूर होगा। The प्रत्येक के तहत संकेत कहते हैं। The type is now LogoOverlay. और उनमें से एक के लिए नामित एक प्रकार एक सप्ताह के भीतर दोनों को गलत समझा जाएगा। The शब्दावली, संकल्पक और विकल्प सूची साझा की जाती है; केवल स्तंभ प्रत्येक सतह पढ़ने अलग है, इसलिए रंग अलग नहीं हो सकता है। लोड हो रहा है। टीएसएक्स फेंकने के बजाय सीधे ऑर्ग कॉन्टेक्स्ट पढ़ता है हुक: यह नेविगेशन के दौरान माउंट करता है और कभी भी ऐसी चीज नहीं होनी चाहिए जो टूट जाती है पृष्ठ संक्रमण। लापता org का मतलब कोई ओवरले नहीं है, जो डिफ़ॉल्ट है वैसे भी। दोनों ही पंक्तियां समान रूप से प्रस्तुत करती हैं, इसलिए वे अब एक साझा करते हैं प्रत्येक प्रतिलिपि के बजाय सहायक। लोड हो रहा है logo overlay कॉलम (KamoInitializer, लागू) और एक की आवश्यकता है सुरक्षा सेवा ने साझा-lib इकाई के खिलाफ पुनर्निर्माण किया।.

  4. · InitializerService

    Load logo overlay कॉलम जोड़ें

    लोगो ओवरले सुविधा के लिए दूसरी सतह: लोडिंग स्क्रीन दिखाया गया है पृष्ठ नेविगेशन के बीच, होम पेज मास्टहेड के साथ। दोनों ALTER एक रनर में रहते हैं क्योंकि वे एक फीचर के साथ एक फीचर हैं शब्दावली, और किसी को भी दोनों को ढूंढना चाहिए। समान आकार इसके भाई-बहन - nullable, कोई backfill, कोई DEFAULT, एक अनुपस्थित मूल्य के बाद से और None मतलब हर ग्राहक के लिए एक ही बात है। बहाव गार्ड अब नामकरण के बजाय इकाई के ओवरले क्षेत्रों को परेशान करता है एक, तो एक तीसरे सतह एक ALTER बिना इकाई में जोड़ा नहीं जा सकता है। यह प्रति स्तंभ एक बयान भी पिन करें: एक एकल साझा ALTER चुपचाप होगा अन्य स्तंभ को असंगठित छोड़ दें।.

  5. · kamo-shared-library

    संगठन पर लोडिंग स्क्रीन लोगो ओवरले को कैरी करें

    होमलॉगोओवरले के समान ओवरले शब्दावली, लोगो के बजाय लागू पेज नेविगेशन के बीच दिखाए गए लोडिंग स्क्रीन पर, प्लस इसकी शाखा में सामान्य पैच पथ। एक साझा सेटिंग के बजाय अपने खुद के स्तंभ, क्योंकि दो सतहों में विपरीत पृष्ठभूमि होती है: होम पेज मास्टहेड सफेद है और लोड स्क्रीन एक अंधेरे ढाल है, इसलिए किसी पर पढ़ने वाली छाया शायद ही कभी होती है वह छाया जो दूसरे पर पढ़ती है। एक org कि दोनों चाहते हैं दो उत्तर ग्राहक पर नून को हल करता है, इसलिए प्रत्येक मौजूदा ऑर्ग किसी के साथ शुरू होता है ओवरले और कोई बैकफिल की जरूरत नहीं है। लोड हो रहा है logo overlay कॉलम पहले से ही है लागू (KamoInitializer, OrgHomeLogoOverlayMigration)।.

  6. · kamo-internal

    निर्देशिका से निर्दिष्ट एजेंट को चुनें, ड्रॉपडाउन नहीं

    असाइन्ड एजेंट फील्ड अब एक सदस्य के प्रबंधक के समान नियंत्रण है प्रोफ़ाइल: एक पठनीय क्षेत्र जो खोज योग्य सदस्य पिकर खुलता है। ड्रॉपडाउन केवल एक ही पृष्ठ पर रख सकता है, और इसके पीछे की सूची पूरी तरह से भरी हुई थी। प्रत्येक लीड व्यू कि क्या कोई भी कार्ड खोलता है या नहीं - दो डायरेक्टरी पृष्ठ भार के अनुसार, क्षेत्र के आखिरी बदलाव के बाद से उनमें से एक को मृत किया गया था। योग्यता पदार्थ में अपरिवर्तित है और बेहतर लागू: पिकर पूछता है View LEADS के धारकों के लिए निर्देशिका, जो पुराने समापन बिंदु के समान है हल किया गया, और यह टीम के सदस्यों पर रहता है क्योंकि यह डिफ़ॉल्ट दायरे है। The "वर्तमान असाइनी चयन" विशेष मामला ड्रॉपडाउन के साथ चला गया है - पिकर परिणामों के ऊपर वर्तमान पिक पिन करता है, इसलिए यह एक खोज से बच जाता है एक हाथ से बने विकल्प की आवश्यकता के बजाय। अब Unassigning काम करता है। खाली विकल्प हमेशा अस्तित्व में है लेकिन पैच पतन हुआ इसे अनिर्धारित करने के लिए, जो बिल्डUpdateLeadRequest छोड़ देता है, इसलिए इसे चुनना खाली पैच और लीड ने अपना मालिक रखा। पिकर का हटा खाली आईडी भेजता है सर्वर अब एक स्पष्ट असाइन के रूप में पढ़ता है।.

  7. · SecurityService

    संकीर्ण सदस्य किसी दिए गए अधिकार के धारकों को खोजते हैं

    लीड असाइनमेंट पिकर को केवल उन लोगों को वापस करने के लिए निर्देशिका की जरूरत है जो कर सकते हैं वास्तव में एक लीड काम करते हैं, इसलिए / टीम-सदस्य/खोज एक आवश्यक राइट लेता है। An unrecognised नाम एक अनदेखी पैरामीटर के बजाय 400 है: चुपचाप छोड़ने एक फिल्टर एक अनुमति सीमा को चौड़ा करता है, जो असफल होने का गलत तरीका है। सही कोई भी प्रश्न के बिना एक खाली पेज लौटाता है, क्योंकि विकल्प है एक खाली सूची में डेटाबेस पार्स नहीं होगा। Who has a right step in the rightHolderResolver, which is the legacy. अब असाइन करने योग्य सदस्य भी उपयोग करते हैं। चलना पहले से ही भर में कॉपी किया गया था पांच कॉल साइटों और दो लीड-साइनमेंट लोगों के बारे में सहमत होना चाहिए कि कौन हो सकता है एक लीड प्राप्त करें - बेहतर है कि वे उसी सवाल से पूछकर सहमत हों आज एक ही कोड रखने के लिए हो रहा है। शेष तीन अछूते हैं।.

  8. · kamo-shared-library

    डायरेक्टरी को सही तरीके से फ़िल्टर करें और लीड को असाइन नहीं किया जा सकता है

    दो चीजें जो असाइनमेंट पिकर की जरूरत है। निर्देशिका क्वेरीज़ एक अनुमति आईडी सेट ले तो एक कॉलर खोज को संकीर्ण कर सकते हैं लोगों के लिए एक चीज वास्तव में दी जा सकती है - किसी के लिए लीड असाइन करना View leads के बिना यह पार्क जहां वे इसे खोल नहीं सकते। सेट में गणना की जाती है यहां शामिल होने के बजाय जावा क्योंकि एक अधिकार या तो एक अधिकार पंक्ति द्वारा आयोजित किया जाता है या एक अनुदान-सभी भूमिका द्वारा, और दूसरे को खोजने के लिए कोई पंक्ति नहीं है। यह एक साथ यात्रा करता है अप्रतिबंधित ध्वज और कभी खाली नहीं है: IN () Postgres पर एक वाक्यविन्यास त्रुटि है तार, इसलिए पूरे दिशा-निर्देश मामला कुछ भी नहीं होने के बजाय प्लेसहोल्डर से गुजरता है। और अद्यतन अनुरोध, जिस तरह से यह पहले से ही देश और भाषा के लिए करता है। एक पैच होता है केवल उस क्षेत्र को बदलने का मतलब है, इसलिए उस अंतर के बिना वहाँ कोई नहीं था "कोई भी इस लीड का मालिक नहीं है" कहने का तरीका - खाली स्ट्रिंग समान रूप से गिर गई एक लापता क्षेत्र के रूप में शाखा और असाइन चुपचाप कुछ नहीं किया। खुला असाइनमेंट पंक्ति को प्रतिस्थापित करने के बजाय बंद किया जाता है, क्योंकि लीड असाइनमेंट हमेशा होता है एक सदस्य के नाम और अब कोई भी नाम नहीं है।.

  9. · kamo-internal

    संपादकों का कहना है "Manage TIMECARDs के रूप में प्रवर्तन" बजाय " अभी तक लागू नहीं"

    एक चिप दो अलग-अलग सत्यों को ले जा रहा था और विपरीत दिशा में भ्रामक था। Unbuilt का मतलब है कि कुछ भी सही जाँच नहीं करता है और यह अनुदान कुछ नहीं करता है। अधीक्षक इसका मतलब यह है कि क्षमता वास्तविक और फाटक है, किसी अन्य अधिकार के नाम के तहत - इसे देने एक अभी भी कुछ नहीं करता है, लेकिन इसे हटा देना गलत होगा और प्रशासक की जरूरत है यह जानने के लिए कि किस अधिकार के बजाय अनुदान देना है। चार प्रविष्टियां हैं जो लेखा परीक्षा की स्थापना हुई हैं: VIEW SCHEDULES और प्रबंधक TIMECARDs के तहत प्रबंधक SCHEDULES, क्योंकि उपस्थिति टैब पर खोलने के लिए इस्तेमाल किया View SCHEDULES और प्रत्येक HR टैब को बाद में अपने आप में से एक अधिकार दिया गया; CREATE EMPLOYEES MANAGE MEMBERS के तहत DELETE EMPLOYEES, क्योंकि एक कर्मचारी एक सदस्य के साथ एक सदस्य है। रोजगार रिकॉर्ड और कोई कर्मचारी CRUD समापन बिंदु नहीं है। सूची हाथ से बनाई गई है, उत्पन्न होने के विपरीत यह annotates, और जानबूझकर इसलिए: कोई विश्लेषक "सुपर्सेड" को "किसी ने इसे अभी तक बनाया" से नहीं बता सकता है। सदस्यता नहीं है UNENFORCED rights से दाएं को हटा दें - कुछ भी इसे किसी भी तरह से चेक में नहीं गुजरता - इसलिए प्रतिबद्ध लेखा परीक्षा के साथ समानता परीक्षण अनछिप्त है। दो गार्ड एक कहानी टिप्पणी में घूमने से घोषणा करते हैं। यह सही है वास्तव में लागू नहीं किया जा सकता है कभी लेबल supersed. एक स्विच पर विरोधाभासी चिप्स। और कवर सही नहीं होना चाहिए सजावटी: संदेश "आवास एक्स" है, इसलिए एक मृत एक्स भेजेगा प्रशासक एक कदम आगे एक काम करने की अनुमति से। यह अगले मानव अधिकार भूमि से पहले कर योग्य था। इन चारों में से दो एक थे ऑडिट के दौरान हटाए जाने से दूर की जाँच करें क्योंकि संपादक ने कहा वे मर गए थे।.

  10. · kamo-shared-library

    संगठन पर होम पेज लोगो ओवरले को कैरी करें

    ठोस रंग एक अंग मास्टहेड लोगो पर पेंट कर सकते हैं कामो-आंतरिक होम पेज, साथ ही साथ जेनेरिक पैच पथ में अपनी शाखा भी शामिल है। मौजूदा PUT/org/{id} इसे bgWatermark के साथ जारी रखता है। एक टोकन स्टोर करता है - PRIMARY DARKER, 004ba0 नहीं - इस ओरग के खिलाफ हल प्रतिपादन समय पर खुद के रंग, इसलिए एक ऑर्ग जो बाद में पुनः ब्रांड्स एक ओवरले रहता है कि अभी भी एक हेक्स जमे हुए के बजाय मैच जब किसी ने इसे उठाया। सादा एक enum के बजाय स्ट्रिंग, इसलिए भविष्य के टोकन को CHECK-constraint की आवश्यकता नहीं है झाड़ू ग्राहक पर नून को हल करता है, यही कारण है कि हर मौजूदा org start with no overlay. होम logo overlay कॉलम पहले से ही लागू किया गया है (KamoInitializer), OrgHomeLogoOverlayMigration) — इस क्षेत्र में एक स्तंभ है कि मौजूद है मैप्स, नहीं एक सेवा एक क्वेरी त्रुटि में चयन करेगा।.

  11. · InitializerService

    होम logo overlay कॉलम जोड़ें

    बैक होम पेज लोगो ओवरले सेटिंग: ठोस रंग एक ओरग कर सकते हैं कमो-आंतरिक घर पृष्ठ पर मास्टहेड लोगो पर पेंट करें। एक हेक्स के बजाय एक टोकन पकड़ता है, इसलिए ओवरले के खिलाफ हल होता है प्रस्तुत समय पर org का अपना पैलेट और एक फिर से ब्रांड जीवित रहता है। सादा VARCHAR एक enum के बजाय, इसलिए बाद में टोकन को CHECK-कंस्ट्रेंट स्वीप की आवश्यकता नहीं है। Nullable, कोई backfill, कोई DEFAULT: हर ग्राहक एक अनुपस्थित मूल्य को हल करता है NONE, जो वास्तव में हर ओरग को स्तंभ से पहले जैसा दिखता है अस्तित्व में, इसलिए एक बैकफिल व्यवहार में कोई बदलाव के लिए पंक्तियों को लिखना होगा। @0 इकाई इस स्तंभ को मैप करती है, हर बाद में धावक जो संगठन को लोड करता है JPA के माध्यम से इसे अपने SELECT में उत्सर्जित करता है, इसलिए देर से आदेशित प्रवासन किया जाएगा पहली बार एक धावक मरने से कदम रखा। परीक्षण एक बहाव गार्ड है, एक इकाई परीक्षण नहीं है: सेवाएं डीडीएल-ऑटो रन: कोई नहीं, इसलिए मिलान के बिना एक इकाई क्षेत्र ALTER स्वस्थ शुरू होता है और मर जाता है क्वेरी समय - और संगठन के लिए जिसका मतलब है ऑर्ग रेज़ोल्यूशन, लॉगइन और मंच पर ब्रांडिंग। यह इसके बजाय एक निर्माण विफलता बनाता है।.

  12. · kamo-internal

    होम पेज लोगो को एक ठोस रंग पेंट करने दें

    ब्रांडिंग के लिए "होम पेज लोगो ओवरले" जोड़ें ************* सीधे पृष्ठभूमि के ऊपर वॉटरमार्क: कोई ओवरले, व्हाइट, ब्लैक और ऑर्ग के अपने सभी कदम प्राथमिक और माध्यमिक रैंप। शीर्ष पर इसे और मास्टहेड लोगो सेट करें होम पेज में उस रंग में एक ठोस सिल्हूट के रूप में प्रस्तुत किया जाता है। डिफ़ॉल्ट है कोई ओवरले नहीं है, इसलिए किसी ओर के लिए कुछ भी परिवर्तन नहीं होता है जो कभी मैदान नहीं खुलता है। क्या संग्रहीत किया जाता है एक TOKEN है, एक हेक्स नहीं - PRIMARY DARKER, कभी नहीं #004ba0 — प्रस्तुत समय पर ऑर्ग के पैलेट के खिलाफ हल किया गया। An org that rebrands एक ओवरले रखता है जो अभी भी अपने रंगों से मेल खाता है, बजाय हेक्स जमे हुए उस समय किसी ने इसे एक ड्रॉपडाउन से बाहर निकाला। लोगोOverlay.ts मालिक कि शब्दावली और संकल्प, उसी तरह watermark.ts का मालिक है वॉटरमार्क। जानने लायक तीन विवरण: - पहले से ही काले रंग तार पर मौजूद थे। बैकएंड ने सभी को भेजा है प्रत्येक रैंप के पांच चरण जब तक EmbColorPalette है, लेकिन संगठन से जेएसओएन ने कभी तीनों का मानचित्रण किया, इसलिए रंगडार्क / रंगडार्कर यहां फर्श पर गिर गया। वे अब कर रहे हैं, जो क्या देता है काले tokens करने के लिए एक रंग. - थीमलोगो इसे एक सीएसएस मास्क के साथ करता है, फ़िल्टर नहीं करता है। एक फिल्टर केवल कर सकते हैं मौजूदा रंगों को चारों ओर धकेलना और मनमाने ढंग से लक्ष्य तक नहीं पहुंच सकता, इसलिए लोगो का अपना अल्फा एक मुखौटा बन जाता है और रंग चित्रित किया जाता है इसके पीछे। <img> घुड़सवार और केवल अदृश्य रहता है: यह एकमात्र है प्राकृतिक आकार का स्रोत साइजिंग ब्लॉक पर निर्भर करता है, और यह रहता है इसके सटीक सामान्य बॉक्स पर कब्जा कर लिया ताकि मास्क की परत इसे भर सकती है। कॉलर इससे पहले कि कोई overlayColor byte-idently प्रदान करते हैं। - एक ब्रांड टोकन जिसका रंग कभी नहीं सेट करने के लिए कोई overlay बल्कि एक पड़ोसी छाया में वापस आने के बजाय। आप लोगो को देखना पहले से ही एक रंग कोई भी चुना देखने की धड़कन थी। होम logo overlay कॉलम (KamoInitializer, लागू) और एक की आवश्यकता है सुरक्षा सेवा साझा-lib इकाई के खिलाफ पुनर्निर्माण; उस भूमि तक क्षेत्र त्रुटि के बजाय कोई ओवरले के रूप में पढ़ता है और बचाता है।.

  13. · InitializerService

    Purge VIEW EMAIL LOGS rows, and stop a test rotting when ordinals शिफ्ट

    View EMAIL LOGS (64) को आज रोलराइटटाइप से हटा दिया गया था ताकि एक ऐसी सुविधा का नाम दिया जा सके जो कि कभी नहीं बनाया गया था। इससे पता चलता है कि यह क्या छोड़ा है - 42 भूमिका पंक्तियों, 33 पर मापा गया पंक्तियों और 8 टेम्पलेट पंक्तियों को लागू किया - दोनों एन्कोडिंग में, चूंकि टेम्पलेट टेबल जबकि बाकी इंटेगर आईडी स्टोर करते हैं, enum NAME स्टोर करता है। **************** एक ही परिवर्तन में फिक्सिंग की जरूरत है, और कारण रखने लायक है। यह दावा करता है कि इसके उदाहरण के पास आई.डी. था! "परीक्षण केवल सार्थक है" जो रखती है। हर बार आईडी 64 को स्थानांतरित करना मूल, ********************** आईडी अपने मूल के बराबर हो गया, और गार्ड जला दिया। क्या गार्ड वहाँ नहीं रहा था परीक्षण जबकि गुजर रहा था कुछ भी नहीं, जो खराब परिणाम है। यह अब रनटाइम पर अपने गवाह को चुनता है - किसी भी अधिकार में एक पूर्वज और जिसका आईडी है इसके मूल से भिन्न - इसलिए भविष्य में कोई गिरावट चुपचाप इसे बाहर खो सकती है। हटाने अधिकार अब पर्याप्त दिनचर्या है कि एक हार्डकोडित उदाहरण एक दायित्व है।.

  14. · kamo-shared-library

    Delete VIEW EMAIL LOGs, जिसका नाम कोई भी बनाया गया है

    प्लेटफ़ॉर्म में कहीं भी कोई ईमेल लॉग मौजूद नहीं है: किसी भी स्कीमा में कोई तालिका नहीं, कोई समापन बिंदु नहीं ईमेलसर्विस के 21 नियंत्रकों, कोई यूआई नहीं और फ्रंटेंड में कोई संदर्भ नहीं - यहां तक कि चेकRight कि MANAGE EMAIL ACCOUNTS कम से कम था। मंच करता है मॉडल लॉग जहां यह उन्हें है, phone call log, img log downloads के साथ, phi access log और contact sync logs all present; ईमेल के बराबर नहीं है। यही कारण है कि CREATE CHANNELS मामला — noun मौजूद नहीं है — बल्कि के बजाय Manage MEETINGS मामला जहां संज्ञा को मॉडल किया गया है और केवल क्रिया अप्रत्याशित है। वर्गीकरण 194/131/33/30 193/130/33/30 हो जाता है। केवल बच्चे की गिनती चलती है: ACCESS MAIL अपने चार अन्य बच्चों को रखता है, इसलिए यह एक जड़ के साथ बच्चों को रहता है। आईडी 64 को जला दिया जाता है। संग्रहीत पंक्तियों को ईमेललॉगRightPurgeMigration द्वारा हटा दिया जाता है।.

  15. · kamo-internal

    सभी संचार के शीर्ष पर नोट संगीतकार रखो

    संगीतकार केवल नोट्स सब-टैब पर मौजूद थे, इसलिए एक नोट लिखने के बारे में क्या आप पढ़ रहे थे? सब अब एक ही postComposer - एक ही लीड, समान org-visible Note — इसके नीचे की समयरेखा अपने नवीनतम पेज को जगह पर रीफ़्रेंच करती है जब एक भूमि, पंक्तियों को स्क्रीन पर रखने के बजाय एक स्पिनर को वापस बांधने के बजाय।.

  16. · kamo-internal

    इसे बनाने के दौरान नए org के ऐप्स का चयन करें

    टाइप एंड बेसिक्स के बीच एक ऐप्स और फीचर्स चरण जोड़ता है। यह ऐप्स को सूचीबद्ध करता है चुना शाखा प्रकार की सुरक्षा मॉडल वास्तव में प्रदान करता है - मजबूर लोगों के रूप में "Always" के साथ कोई स्विच के साथ बहस करने के लिए, वैकल्पिक लोगों के रूप में प्री-सेट को मॉडल की अपनी डिफ़ॉल्ट में स्विच करें - और जवाब भेजता है निर्माण। टाइप क्या तय करता है कि कौन से ऐप चुनने के लिए मौजूद हैं, इसलिए कदम सही बैठता है इसके बाद। "यह वास्तव में क्या करेगा" जबकि यह अभी भी है विषय ग्राहक को कुछ भी खर्च नहीं करता; इसे आठ स्क्रीन के बाद पूछ ब्रांडिंग एक दूसरे, असंबंधित सेटअप के रूप में पढ़ा जाएगा। उन लोगों के लिए लिखित जिन्होंने कभी मंच का इस्तेमाल नहीं किया है: हेडर बताते हैं क्या एक ऐप है और वह एक बंद स्विचन केवल इसे छिपाता है, प्रत्येक पंक्ति वहन करती है ऐप का अपना सादे-भाषा विवरण, "सामान्य रूप से चालू" / "सामान्य रूप से बंद" कहता है जहां पूर्व चयन से आया था, और वहाँ एक रास्ता वापस करने के लिए है अनुशंसित सेट। यहां कुछ भी आवश्यक नहीं है और समीक्षा ऐप को ऑर्ग सूचीबद्ध करती है नाम से खुल जाएगा - एक गिनती एक संख्या है जो कोई भी जांच कर सकता है, और यह है एक अपरिवर्तनीय बनाने से पहले अंतिम स्क्रीन। चयन सर्विसटाइप नाम और एक अनुपस्थित कुंजी द्वारा कुंजी कर रहे हैं का मतलब है "Whatever" मॉडल तार के दोनों तरफ सिफारिश करता है। SAME फिर से चयन शाखा का प्रकार पुनः निर्माण चूक के बजाय उत्तर रखता है: BranchTypeStep हर बार जब कदम को संशोधित किया जाता है तो अपने चयन को फिर से प्राप्त करें, इसलिए naive संस्करण चुपचाप पूरे कदम को एक क्लिक से पहले कदम पर करना होगा यह एक अलग प्रकार का चयन करना पुनर्निर्माण करता है, क्योंकि ऐप सूची को प्रतिस्थापित किया जाता है थोक। इसके अलावा सेटिंग्स पर ऐप विवरण को क्लैंप करें -> खाता -> शाखा प्रकार से दो रेखाएं उन पंक्तियों का वर्णन अब कुछ वाक्यों में चल रहा है, इसलिए एक गैर-तकनीकी पाठक उन पर कार्य कर सकते हैं, और वे हर पतन को रोक सकते हैं एक तीन लाइन ब्लॉक में पंक्ति।.

  17. · SecurityService

    निर्माता को नए ऑर्ग ऐप का चयन करने दें

    नेटवर्क-create विज़ार्ड एक ऐप्स और सुविधाएँ कदम हासिल करता है, और यह है आधा जो इसे असली बनाता है। /branch-types/creatable अब प्रत्येक शाखा प्रकार की सुरक्षा क्षुधा का वर्णन करता है मॉडल प्रदान करता है - `required`, OPTIONAL * मॉडल के साथ लोगों के रूप में मजबूर स्वयं का डिफ़ॉल्ट - इसलिए जादूगर ऑर्ग मौजूद होने से पहले कदम प्रस्तुत कर सकता है। यह यहां से आना है: एप्लिकेशन का वर्णन करने वाले समापन बिंदुओं को एक के लिए दायर किया गया है ConFIGURE SYSTEM पर मौजूदा ऑर्ग और फाटक, एक सही व्यक्ति जिसने एक व्यक्ति को बनाने का अधिकार दिया शाखा अक्सर माता-पिता ओरग में नहीं होती है। Not AVAILable apps पूरी तरह से दिखाया गया ग्रे आउट के बजाय छोड़ दिया। पेलोड लाभ `appselections` ({Servicetype: boolean}), और नए ओर्ग को इसके द्वारा निर्मित लेनदेन में प्रावधान किया जाता है, इसके आगे भूमिका-template बीजिंग: एक ही तरह की चीज, और या तो यह सभी भूमि या भूमि org नहीं बनाया गया है। दो बार पढ़ने का हिस्सा यह है कि एक ऐप को स्विच किया जा रहा है, फिर भी एक ऐप प्राप्त हो जाता है ऑर्गनफेचर पंक्ति। अब तक एक नया org सभी पर कोई सुविधा पंक्तियों नहीं मिला और वे थे पहली बार किसी ने भी सेटिंग खोला -> ऐप्स - एक पाश यह सब कुछ सक्षम बनाता है कि मॉडल बिल्कुल ब्लॉक नहीं है। तो OPTIONAL DEFAULT DISABLED, एक व्यवस्थापक ने स्पष्ट रूप से कहा कि "इसे बंद करें, लेकिन शुरू करें इसे बंद कर दिया गया था, चुपचाप हर बच्चे के लिए चालू किया गया था। एक निष्क्रिय पंक्ति लेखन क्या विकल्प छड़ी बनाता है, क्योंकि उस पाश केवल प्रकार के लिए पंक्तियां बनाता है, जिसके लिए कोई नहीं मिलता है। ऐसा क्यों नहीं किया जा सकता एक सबसे अच्छा प्रयास करने के बादCommit चरण: गिरावट एप्लिकेशन को बिना सेट नहीं छोड़ देगी, इसे छोड़कर सामग्री पर बढ़ने के लिए तीन स्थानों में स्पष्ट रूप से संकीर्ण। कोई लागू मॉडल के साथ एक org पर छोड़ दिया जाता है आलसी पथ - computeAvailabilityMap उत्तर OPTIONAL DEFAULT DISABLED वहाँ सब कुछ के लिए, और भौतिकवाद जो किसी को एक कार्यक्षेत्र सौंप देगा जहां कुछ नहीं है और कुछ नहीं कहता क्यों। एक चयन नामकरण ऐप मॉडल की पेशकश नहीं की जाती है, मना नहीं किया जाता है: विज़ार्ड अपने ड्राफ्ट में रखता है सत्र भंडारण, इसलिए एक व्यवस्थापक मॉडल मध्य सत्र को संकुचित करने के लिए लागत नहीं होना चाहिए ग्राहक उनके निर्माण। और एक null appselections "कोई क्षुधा" नहीं है - यह एक है पुराने ग्राहक, और हर एप्लिकेशन मॉडल डिफ़ॉल्ट के लिए वापस आता है।.

  18. · kamo-shared-library

    उन लोगों के लिए ऐप कैटलॉग कॉपी राइट करें जो इसे पढ़ते हैं

    सर्विसटाइप पर प्रदर्शन का नाम और विवरण एकमात्र विवरण हैं अक्सर पूछे जाने वाले प्रश्न ऐप्स और सुविधाएँ, एक अभिभावक-ऑर्ग एडमिनिस्ट्रेशन यह तय करता है कि उसके बच्चे के अंग शाखा के प्रकारों पर क्या उपयोग कर सकते हैं? स्क्रीन और अब जो भी नेटवर्क विज़ार्ड में एक संगठन बना रहा है - जो लोग पहले कभी मंच का इस्तेमाल नहीं करते थे। उस प्रतिलिपि के साथ दो चीजें गलत थीं, और दोनों लागत वाले ग्राहक। इसने कार्यान्वयन का वर्णन किया। "AI-powered assistant with chat, RAG एकीकरण "Voice ओवर IP PBX फोन सिस्टम", "स्व-होस्टेड वीडियो कॉन्फ्रेंसिंग", "Docs संपादन के साथ व्यक्तिगत दस्तावेज़ भंडारण", "Falls" बैक टू पैरेंट ऑर्गनाइजेशन SMTP जब विकलांग हो" - एक इंजीनियर के लिए सटीक, और यह तय करने के लिए कि वे क्या चाहते हैं, सभी पर कोई मदद नहीं है। Worse, यह पूरी ऐप के रूप में Kamo के अपने कार्यान्वयन को प्रस्तुत किया। ई-मेल, फोन और बैठक प्रत्येक प्रदाता अमूर्तता है -- EmailProvidertype, VoipProvidertype and MeetingProvidertype प्रत्येक जहाज एक Kamo प्रदाता के साथ मिलकर Google Workspace / Microsoft 365 / Zoho / Exchange / IMAP, रिंगसेंट्रल और टीम फोन, ज़ूम और टीम। "ई-मेल - ई-मेल होस्टिंग" के रूप में पढ़ता है "इसे क्लिक करें यदि आप Kamo को अपने मेल की मेजबानी करना चाहते हैं, तो प्रत्येक org पहले से ही कार्यक्षेत्र पर या 365 को वास्तव में उनके लिए बनाया गया एक एप्लिकेशन को डिकोड करने का एक कारण था। इसके अलावा दो वास्तविक अंतरालों को भरता है जो कभी उल्लेखित नहीं है: HR कानूनी का मालिक है और प्रकटीकरण दस्तावेजों के कर्मचारियों को पढ़ने और साइन करने के लिए है, और विपणन थोक भेजता है और ड्रिप ईमेल अभियान। ServiceTypeCustomerCopy टेस्ट पिन दोनों गलतियाँ तो वे वापस नहीं आ सकते। लगातार नाम अछूते हैं -- ************* एक स्ट्रिंग के रूप में नाम जारी रखता है, इसलिए एक नाम चुपचाप प्रत्येक को त्याग देगा सुरक्षा मॉडल का अनुदान।.

  19. · kamo-internal

    नव लेबल को अवसरों और क्रेडिट के लिए शॉर्ट करें

  20. · SecurityService

    मंच प्रशासक सूची पर भगवान खातों की रक्षा

    एक देवता खाता का मंच अधिकार केवल दूसरे देवता द्वारा बदला जा सकता है, और एक देवता खाता कभी सूची से हटाया नहीं जा सकता - किसी के द्वारा, किसी अन्य देवता सहित। भगवान मंच की ब्रेक-ग्लास पहचान है: इसके धारक तब बने रहते हैं जब सब कुछ गलत है। एक प्रशासक होल्डिंग MANAGE PLATFORM ADMINS लेकिन नहीं भगवान अन्यथा एक देवता खाते में पहुँच सकते हैं और अपने अधिकारों को दूर रखें, जो ठीक उसी तरह से संपादित है जो लोगों को नष्ट कर देगा यह करने में सक्षम है। हटाने क्योंकि पंक्ति दूर हर स्ट्रिप्स एक बार में, बदलते अधिकार संभव रहता है, लेकिन केवल साथियों के बीच। सहकर्मी परीक्षण उपयोगकर्ता है। Caller पर ईश्वर, एक खुला देवता-मोड विंडो नहीं: होना भगवान क्या आपको लक्ष्य के बराबर बनाता है, जबकि खिड़की के बारे में है जानबूझकर उस शक्ति का उपयोग कहीं और कर रहा है। isGod(Member) सुरक्षात्मक दिशा में बंद विफल रहता है - एक सदस्य जिसका उपयोगकर्ता रिकॉर्ड पढ़ा नहीं जा सकता है भगवान के रूप में व्यवहार किया जाता है, इसलिए एक अप्राप्य पंक्ति अकेले छोड़ दी जाती है बल्कि एक दृष्टिकोण है कि काम नहीं किया की ताकत पर संपादित करने के बजाय। कॉलर स्वयं का ध्वज दूसरे तरीके से विफल रहता है, क्योंकि यह हमेशा नियंत्रण को सक्षम बनाता है। जोड़ समापन बिंदु सहित सभी तीनों पथों पर लागू होता है, जो प्रतिस्थापित होता है फिर से काम करने के अधिकार और अन्यथा नियम के आसपास एक रास्ता होगा।.

  21. · kamo-internal

    परमेश्वर के खातों को मंच व्यवस्थापक सूची में संरक्षित किया जाता है

    दो नियम सर्वर को लागू करते हैं और यह केवल दर्पण: एक देवता खाता मंच किसी अन्य देवता और किसी अन्य व्यक्ति द्वारा अधिकारों को बदला जा सकता है, और एक देवता खाता बदल सकता है कभी भी सूची से हटाया नहीं जा सकता - किसी अन्य ईश्वर द्वारा नहीं, खुद से नहीं। भगवान ब्रेक ग्लास पहचान है, इसलिए इसके धारक अंतिम तरीके से वापस आते हैं जब सब कुछ गलत है। एक प्रशासक होल्डिंग MANAGE PLATFORM ADMINS लेकिन नहीं भगवान अन्यथा एक देवता खाते में पहुँच सकते हैं और इसे पट्टी करें, जो एक संपादन है जो उन लोगों को नष्ट कर देता है जो इसे बाहर कर देंगे। दोनों नियंत्रण छिपाने के बजाय जुड़े कारणों से अक्षम हैं - एक नियंत्रण है कि vanishes एक लापता विशेषता के रूप में पढ़ता है, जो खुद को पढ़ाता है नियमानुसार। "+ N more" चिप उसी लॉक को वहन करती है, क्योंकि यह वही खुलता है संवाद.

  22. · SecurityService

    Config.json

    kamologin, kamo-register, विपणन साइट और KamoMeet सभी पढ़ा पृष्ठभूमि के लिए थीम बाल्टी की config.json इसके साथ सवारी करें, इसलिए ऑर्ग-वाइड अनुक्रमिक/शफल विकल्प सभी तक पहुंचता है अगले विषय प्रावधान पर चार। केवल दो ज्ञात मूल्यों को उत्सर्जित किया जाता है - कुछ और इसलिए छोड़ दिया जाता है ग्राहक एक मूल्य पढ़ने के बजाय अनुक्रमिक में वापस आता है, यह नहीं करता है मान्यता org PUT एक unrecognised मूल्य outright अस्वीकार करता है।.

  23. · kamo-shared-library

    सार्वजनिक स्लाइड शो ऑर्डर के लिए पृष्ठभूमि ऑर्डर कॉलम

    Nullable VARCHAR; null हर क्लाइंट पर अनुक्रमिक को हल करता है, जो है स्तंभ के अस्तित्व से पहले हर ओर्ग क्या था। एक के बजाय सादे स्ट्रिंग इसलिए बाद में मोड को CHECK-कंस्ट्रेंट स्वीप की आवश्यकता नहीं है। मिररिंग ALTER पहले से ही KamoInitializer और KamoInitializer के माध्यम से चल रहा है कॉलम की पुष्टि यूगाबाइट में हुई है, इसलिए यह सशस्त्र नहीं है।.

  24. · InitializerService

    दो सेवानिवृत्त नोट अधिकारों के लिए संग्रहीत पंक्तियों को मिटा दें

    SHARE NOTES (72) और MAAGE NOTES SETTINGS (73) को रोलराइट टाइप से हटा दिया गया था आज गेट की कोई सुविधा नहीं है। इससे पता चलता है कि वे क्या छोड़ते हैं, गिना जाता है और रोलराइट्स के लिए छोड़ दिए गए बजाय उसी रन में लॉग इन करेंSyncService स्वीप करने के लिए चुपके से कुछ बाद में सुरक्षा सेवा बूट पर। इसे लिखने से पहले मापा गया: भूमिका तालिकाओं में 84 पंक्तियों, 16 टेम्पलेट पंक्तियों, 94 लागू पंक्तियों, और कोई भी विभाग, नौकरी-शीर्षक या सदस्य स्तर पर नहीं। दोनों फिर से एन्कोडिंग करते हैं। अधिकार तालिका और लागू स्नैपशॉट integer स्टोर id; ******************* enum नाम स्टोर करता है। एक id-keyed DELETE टेम्पलेट तालिका पर कुछ भी नहीं मैच होगा और सफलता की रिपोर्ट करेगा, 16 पंक्तियों को अधिकारों के लिए छोड़ दें जो अब बल-rule में पढ़ने का संकल्प नहीं करते हैं हर recalculation पर मानचित्र - जो hypothetical नहीं है, यह क्या हुआ है 24 150 पंक्तियों में से चैट-चैनल प्यूज को हटाने का इरादा था। कोई बीजिंग नहीं और कोई सत्यापन गेट नहीं, बैठक के बीज के विपरीत: एक अधिकार को हटाने से नहीं हो सकता है किसी भी व्यक्ति की पहुंच को हटा दें, क्योंकि कभी भी इन्हें पढ़ा नहीं जाता है। यही कारण है कि उन्हें बनाया पहली जगह में हटाने योग्य।.

  25. · kamo-shared-library

    Delete SHARE NOTES और MAAGE NOTES SETTINGS, जिसका नाम कुछ नहीं है

    नोट्स वास्तविक हैं, और आज पूरी तरह से गेटेड - दृष्टिकोण, CREATE, EDIT और DELETE के रूप में केबी सर्विस के नोट्स कंट्रोलर के हर समापन बिंदु पर लागू किया गया। इन दोनों के पास कुछ नहीं था नाम प्लेटफॉर्म में कहीं भी कोई साझा मॉडल नहीं है: नोट पर कोई कॉलम नहीं, कोई फ़ील्ड नहीं NoteDTO पर, कोई Note shares टेबल नहीं - नोट टेबल नोट, Note tags, नोट्स, नोट टैग्स हैं। Note versions and Note embedding records — दस के बीच कोई समापन बिंदु नहीं, और कोई यूआई नहीं। फ्लोटिंगनोट में तीन "शेयर" हिट। टीएसएक्स गद्य हैं और सेवा में लोग हैं com.kamo.z.shared Package name. वास्तुकला उसी तरह इंगित करता है: एक नोट की सामग्री कुंजी अपने मालिक से ली गई है, इसलिए साझा करना एक फिर से कुंजी है एक लापता समापन बिंदु के बजाय समस्या। Manage NOTES SETTINGS में कोई सेटिंग सतह नहीं है - नीचे कोई टैब नहीं सेटिंग्स / फीचर्स, ऐप / सेटिंग के तहत कोई मार्ग नहीं, कोई विन्यास तालिका नहीं, कोई विन्यास इकाई नहीं, कहीं भी फ्रंटेंड में कोई संदर्भ नहीं है। यह CREATE CHANNELS मामला है, जहां संज्ञा मौजूद नहीं है, और जानबूझकर नहीं MANAGE MEETINGS मामला पिछले सप्ताह रखा, जहां noun मॉडल किया जाता है - बैठकस्टैटस पहले से ही रद्द और समाप्त हो चुका है, और वेबिनार सर्विस दोनों को ड्राइव करती है - और केवल शब्द को उजागर नहीं किया जाता है। वह परीक्षण जो टैक्सोनोमी को पिन करता है, उसे तर्क देता है। वर्गीकरण 196/132/33/31 194/131/33/30, 63 जड़ें बन जाती हैं। दो संख्याओं के बजाय चलती है तीन से अधिक: SHARE NOTES चार बच्चों में से एक था, इसलिए VIEW NOTES एक रहता है ACCESS CHAT के रास्ते को जोड़ने के बजाय जड़-साथ-बच्चों ने किया था। आईडी 72-73 को जला दिया जाता है। रोलRightTypeIdConverter आईडी जारी रखता है, इसलिए भविष्य का सही उन पंक्तियों का पुन: उपयोग करने के लिए जो भी उन पंक्तियों का मतलब था उन अंगों में जो उन्हें था पर स्विच किया। स्टोर की गई पंक्तियों को NotesRightsPurgeMigration द्वारा हटा दिया जाता है।.

  26. · InitializerService

    जोड़ें orgs.background order

    Nullable VARCHAR(20), कोई backfill और कोई DEFAULT - हर ग्राहक हल अनुक्रमिक के लिए एक अनुपस्थित मान, जो प्रत्येक ऑर्ग का व्यवहार है स्तंभ अस्तित्व से पहले। प्रति स्तंभ-add सम्मेलन @Order(0): एक बार साझा-lib इकाई के नक्शे इसके बाद किसी भी रनर ने एक संगठन को अपने SELECT में उत्सर्जित किया।.

  27. · kamo-marketing

    ऑर्ग की वास्तविक पृष्ठभूमि की गिनती और प्ले ऑर्डर पढ़ें

    हीरो ने bg/1.webp के लिए जांच की और फिर हार्डकोडेड तीन फ्रेम्स, तो एक org अधिक कभी उन्हें नहीं दिखाया गया है और घूर्णन मोडुलो ने LOCAL BGS.length भले ही वास्तव में कितने छवियाँ थीं। यह अब config.json पढ़ता है हर दूसरे कामो की सतह की तरह, और ऑर्ग की shuffle सेटिंग का सम्मान करता है।.

  28. · kamo-register

    Org के अनुक्रमिक / shuffle स्लाइड शो ऑर्डर को सम्मान दें

    उसी config.json अनुबंध के रूप में kamo-login: पृष्ठभूमिआदेश सभी ड्राइव तीन पंजीकरण पृष्ठभूमि, अनुपस्थित कुंजी क्रमिक रहता है।.

  29. · kamo-login

    Org के अनुक्रमिक / shuffle स्लाइड शो ऑर्डर को सम्मान दें

    config.json अब पृष्ठभूमिImageCount के साथ पृष्ठभूमिऑर्डर किया जाता है। हर अग्रिम पर फिर से घूमना और फ्रेम को कभी दोहराना स्क्रीन; एक अनुपस्थित कुंजी अनुक्रमिक रहता है, जो कि हर ओर्ज था। दो स्विपर स्क्रीन अपने क्रॉसफ़ेड को रखते हैं लेकिन अपने स्वयं के टाइमर को ड्राइव करते हैं जब shuffled - Swiper ऑटोप्ले केवल कभी कदम आगे एक स्लाइड आगे।.

  30. · SecurityService

    ऑल-नेटवर्क सिस्टम यूज़र राइट का अनुसरण करते हैं

    प्रत्येक संगठन को देखना और प्रवेश करने में सक्षम होना एक ही निर्णय है - सूची मौजूद है इसलिए एक ऑपरेटर उस संगठन को ढूंढ सकता है जिसके बारे में वे हैं समर्थन - इसलिए / ऑल-नेटवर्क अब सिस्टम यूएसईआर के बजाय सिस्टम के स्वामित्व के लिए पूछते हैं शीर्ष स्तर org। एक मंच प्रशासक ने सिस्टम उपयोगकर्ता एक्सेस प्रदान किया पहले उनमें से सूची देखने में असमर्थ होने के दौरान किसी भी संगठन में प्रवेश करें। समाधानFromSession नियम के बाकी हिस्सों की आपूर्ति करता है और हाथ से लुढ़का को प्रतिस्थापित करता है इस हैंडलर का संस्करण: कॉलर को शीर्ष स्तर के संगठन में होना चाहिए, सिस्टम यूज़र्स के अपने सत्र को मना कर दिया जाता है, और एक मालिक या एक खुला देवता मोड खिड़की अभी भी एक स्पष्ट अनुदान के बिना योग्य है।.

तुम्हारा ब्रह्मांड इंतजार कर रहा है.

मिनटों में मुफ्त शुरू करें. जब भी आप तैयार हों तो उत्पाद जोड़ें - कोई माइग्रेशन नहीं, कोई नया लॉगइन नहीं.

हमेशा के लिए मुफ्त - कोई क्रेडिट कार्ड की आवश्यकता नहीं