হোল্ডস পরিচালনা করুন

আইনি বা সংরক্ষণের বাধ্যবাধকতা পূরণের জন্য অনির্দিষ্টকালের জন্য ডেটা সংরক্ষণ করে রাখা। সাধারণত এক বা একাধিক ব্যবহারকারীর উপর হোল্ড রাখা হয় যাতে নিশ্চিত করা যায় যে কোনও বিষয়ের সাথে সম্ভাব্য প্রাসঙ্গিক ডেটা মুছে ফেলা না যায় যতক্ষণ না সেই বিষয়টি আর সক্রিয় থাকে।

যদি কোনও ব্যবহারকারী হোল্ড করা ডেটা মুছে ফেলেন, তাহলে সেই ডেটা ব্যবহারকারীর ভিউ থেকে সরিয়ে ফেলা হবে, কিন্তু এটি ভল্টে সংরক্ষিত থাকবে। যতক্ষণ হোল্ডটি স্থানে থাকবে, ততক্ষণ একজন ভল্ট অ্যাডমিন সেই ডেটা অনুসন্ধান এবং রপ্তানি করতে পারবেন।

হোল্ডগুলিতে নিম্নলিখিত উপাদানগুলি থাকে:

  • একটি পরিষেবা— ডেটা সংরক্ষণের জন্য দায়ী অ্যাপ্লিকেশন। পরিষেবাটি মেল, ড্রাইভ বা গ্রুপে সেট করা যেতে পারে।
  • একটি সুযোগ— হোল্ডের আওতাভুক্ত সত্তা। সুযোগটি এক বা একাধিক ব্যবহারকারীর অ্যাকাউন্টে, অথবা একটি সাংগঠনিক ইউনিটে (OU) সেট করা যেতে পারে।
  • অতিরিক্ত বিকল্প (ঐচ্ছিক) — নির্দিষ্ট পরিসরের মধ্যে রাখা ডেটা সংকুচিত করতে ব্যবহৃত নির্দিষ্ট বিবরণ (সার্চ কোয়েরি বা কনফিগারেশন বিকল্প)। বিকল্পগুলির মধ্যে রয়েছে:
    • মেইল, গ্রুপ: হোল্ড কমাতে সার্চ কোয়েরি
    • ড্রাইভ: হোল্ডে শেয়ার্ড ড্রাইভ অন্তর্ভুক্ত করুন

ভল্ট রিসোর্সগুলির সাথে কাজ করার জন্য, অ্যাকাউন্টটির অবশ্যই প্রয়োজনীয় ভল্ট সুবিধা এবং বিষয়টিতে অ্যাক্সেস থাকতে হবে। কোনও বিষয়টি অ্যাক্সেস করার জন্য, অ্যাকাউন্টটি অবশ্যই বিষয়টি তৈরি করেছে, বিষয়টি তাদের সাথে ভাগ করে নিয়েছে, অথবা View All Matters সুবিধা থাকতে হবে।

একটি অনুসন্ধান কোয়েরি ব্যবহার করে নির্দিষ্ট ব্যবহারকারীর অ্যাকাউন্টে মেইলের জন্য একটি হোল্ড তৈরি করুন

নিম্নলিখিত উদাহরণে দেখানো হয়েছে কিভাবে "মাই ফার্স্ট মেইল ​​অ্যাকাউন্টস হোল্ড" নামে একটি হোল্ড তৈরি করা হয়:

  • পরিষেবা: ডাকযোগে
  • সত্তা: ব্যবহারকারীর অ্যাকাউন্ট "user1" এবং "user2"
  • অতিরিক্ত বিকল্প: অনুসন্ধান কোয়েরি "to:ceo@company.com"

ডিরেক্টরি API থেকে ব্যবহারকারীর অ্যাকাউন্ট আইডি পুনরুদ্ধার করুন। মনে রাখবেন যে HeldAccount অ্যাকাউন্ট আইডি বা ইমেল নিতে পারে। যদি উভয়ই দেওয়া হয়, তাহলে ইমেল ব্যবহার করা হবে এবং অ্যাকাউন্ট আইডি উপেক্ষা করা হবে।

জাভা

HeldMailQuery mailQuery = new HeldMailQuery().setTerms("to:ceo@company.com");
List accounts = Lists.newArrayList();
accounts.add(new HeldAccount().setAccountId(user1accountId));
accounts.add(new HeldAccount().setEmail(user2Email));
Hold hold = new Hold()
    .setName("My First mail Accounts Hold")
    .setCorpus("MAIL");
    .setQuery(new CorpusQuery().setMailQuery(mailQuery))
    .setAccounts(accounts);
Hold createdHold = client.matters().holds().create(matterId, hold).execute();
  

পাইথন

def create_hold_mail_accounts(service, matter_id, account_id):
    mail_query = {'terms': 'to:ceo@company.com'}
    accounts = [
        {'accountId': user1_account_id},
        {'email': user2_email}
    ]
    wanted_hold = {
        'name': 'My First mail Accounts Hold',
        'corpus': 'MAIL',
        'query': {
            'mailQuery': mail_query
        },
        'accounts': accounts
    }
    return service.matters().holds().create(
        matterId=matter_id, body=wanted_hold).execute()

একটি OU-তে Drive-এর জন্য একটি হোল্ড তৈরি করুন এবং শেয়ার্ড ড্রাইভের কন্টেন্ট অন্তর্ভুক্ত করুন

নিম্নলিখিত উদাহরণে দেখানো হয়েছে কিভাবে "মাই ফার্স্ট ড্রাইভ OU হোল্ড" নামে একটি হোল্ড তৈরি করা হয়:

  • পরিষেবা: ড্রাইভ
  • সত্তা: org ইউনিট "Finance" (OU ID orgUnitId-এ ক্যাপচার করা হয়েছে)
  • অতিরিক্ত বিকল্প: এই প্রতিষ্ঠান ইউনিটের ব্যবহারকারীরা যে শেয়ার্ড ড্রাইভের সদস্য, সেগুলি অন্তর্ভুক্ত করুন

ডিরেক্টরি API থেকে OU আইডি পুনরুদ্ধার করুন।

জাভা

HeldOrgUnit orgUnit = new HeldOrgUnit().setOrgUnitId(orgUnitId);
// Include shared drives content.
HeldDriveQuery driveQuery = new HeldDriveQuery().setIncludeSharedDriveFiles(true);
// Create the hold.
Hold hold = new Hold()
    .setName("My First Drive OU Hold")
    .setCorpus("DRIVE")
    .setQuery(new CorpusQuery().setDriveQuery(driveQuery))
    .setOrgUnit(orgUnit);
Hold createdHold = client.matters().holds().create(matterId, hold).execute();
return createdHold;

পাইথন

def create_hold_drive_org(service, matter_id, org_unit_id):
    drive_query = {'includeSharedDriveFiles': True}
    org_unit = {'orgUnitId': org_unit_id}
    wanted_hold = {
        'name': 'My First Drive OU Hold',
        'corpus': 'DRIVE',
        'orgUnit': org_unit,
        'query': {
            'driveQuery': drive_query
        }
    }
    return service.matters().holds().create(
        matterId=matter_id, body=wanted_hold).execute()

নির্দিষ্ট গ্রুপ অ্যাকাউন্টগুলিতে তারিখের সীমা সহ গ্রুপগুলির জন্য একটি হোল্ড তৈরি করুন

নিম্নলিখিত উদাহরণে দেখানো হয়েছে কিভাবে "মাই ফার্স্ট গ্রুপ হোল্ড" নামে একটি হোল্ড তৈরি করা হয়:

  • পরিষেবা: গোষ্ঠী
  • সত্তা: গ্রুপ অ্যাকাউন্ট "group1" এবং "group2"
  • অতিরিক্ত বিকল্প: "startTime" এবং "endTime" এর মধ্যে শুধুমাত্র প্রেরিত তারিখ সহ বার্তাগুলি ধরে রাখুন।

ডিরেক্টরি API থেকে গ্রুপ অ্যাকাউন্ট আইডি পুনরুদ্ধার করুন।

জাভা

String APRIL_2_2017_GMT = "2017-04-02T00:00:00Z"; // See below for format*.
 
List accounts = Lists.newArrayList();
accounts.add(new HeldAccount().setAccountId(accountId));
accounts.add(new HeldAccount().setAccountId(accountId2));
HeldGroupsQuery groupQuery = new HeldGroupsQuery();
// Restrict by sent date.
groupQuery.setStartTime(APRIL_2_2017_GMT);
groupQuery.setEndTime(APRIL_2_2017_GMT);
// create the hold
Hold hold = new Hold()
    .setName("My First Group Hold")
    .setCorpus("GROUPS")
    .setQuery(new CorpusQuery().setGroupsQuery(groupQuery));
    hold.setAccounts(accounts);
Hold createdHold = client.matters().holds().create(matterId, hold).execute();
 

পাইথন

def create_hold_groups_date_range(service, matter_id, group_account_id):
    groups_query = {
        'startTime': '2017-04-02T00:00:00Z', # See below for format*
        'endTime': '2017-04-02T00:00:00Z'
    }
    accounts = [{'accountId': group_account_id}]
    wanted_hold = {
        'name': 'My First Group Hold',
        'corpus': 'GROUPS',
        'query': {
            'groupsQuery': groups_query
        },
        'accounts': accounts
    }
    return service.matters().holds().create(
        matterId=matter_id, body=wanted_hold).execute()
 
  • টাইমস্ট্যাম্প ফর্ম্যাট । অতিরিক্তভাবে, শুরু/শেষ সময়গুলিকে GMT-তে রূপান্তরিত করা হয় এবং প্রদত্ত তারিখের শুরুতে পূর্ণসংখ্যা করা হয়।

বিদ্যমান হোল্ডগুলি অনুসন্ধান এবং সংশোধন করুন

নিম্নলিখিত উদাহরণটি দেখায় যে কীভাবে বিদ্যমান হোল্ডে অন্তর্ভুক্ত সমস্ত অ্যাকাউন্ট তালিকাভুক্ত করতে হয়:

জাভা

client.matters().holds().accounts().list(matterId, holdId).execute().getAccounts();

পাইথন

# If no accounts are on hold, ['accounts'] will raise an error.
def list_held_accounts(service, matter_id, hold_id):
    return service.matters().holds().accounts().list(
        matterId=matter_id, holdId=hold_id).execute()['accounts'] 

নিম্নলিখিত উদাহরণে দেখানো হয়েছে কিভাবে একটি অ্যাকাউন্টে একটি অ্যাকাউন্ট যোগ করতে হয় এবং একটি অ্যাকাউন্ট থেকে একটি অ্যাকাউন্ট অপসারণ করতে হয়, যা বিদ্যমান হোল্ডে রয়েছে:

জাভা

// Add an account by id.
client
        .matters()
        .holds()
        .accounts()
        .create(matterId, holdId, new HeldAccount().setAccountId(accountId))
        .execute();
// Remove an account by id.
client.matters().holds().accounts().delete(matterId, holdId, accountId).execute();

String email = "email@email.com";
// Add an account by email.
client
        .matters()
        .holds()
        .accounts()
        .create(matterId, holdId, new HeldAccount().setEmail(email))
        .execute();

পাইথন

 
def add_held_account(service, matter_id, hold_id, account_id):
    held_account = {'accountId': account_id}
    return service.matters().holds().accounts().create(
        matterId=matter_id, holdId=hold_id, body=held_account).execute()

def remove_held_account(service, matter_id, hold_id, account_id):
    return service.matters().holds().accounts().delete(
        matterId=matter_id, holdId=hold_id, accountId=account_id).execute()

def add_held_account(service, matter_id, hold_id, email):
    held_account = {'email': email}
    return service.matters().holds().accounts().create(
        matterId=matter_id, holdId=hold_id, body=held_account).execute()
 

নিম্নলিখিত উদাহরণটি দেখায় কিভাবে বিদ্যমান OU হোল্ডে OU পরিবর্তন করতে হয়:

জাভা

Hold hold = client.matters().holds().get(matterId, holdId).execute();
hold.getOrgUnit().setOrgUnitId(newOrgUnitId);
Hold modifiedHold = client.matters().holds().update(matterId, holdId, hold).execute();
return modifiedHold;
 

পাইথন

def update_hold_ou(service, matter_id, hold_id, org_unit_id):
    current_hold = get_hold(matter_id, hold_id)
    current_hold['orgUnit'] = {'orgUnitId': org_unit_id}
    return service.matters().holds().update(
        matterId=matter_id, holdId=hold_id, body=current_hold).execute() 

নিচের উদাহরণটি দেখায় কিভাবে একটি বিষয়ের জন্য সমস্ত হোল্ড তালিকাভুক্ত করতে হয়:

জাভা

 
String matterId = "Matter Id";

// List all holds. List holdsList = client.matters().holds().list(matterId).execute().getHolds();

// Paginate on holds. ListHoldsResponse response = client .matters() .holds() .list(matterId) .setPageSize(10) .execute();

String nextPageToken = response.getNextPageToken(); if (nextPageToken != null) { client .matters() .holds() .list(matterId) .setPageSize(10) .setPageToken(nextPageToken) .execute(); }

পাইথন

# This can paginate in the same manner as with matters.
def list_holds(service, matter_id):
    return service.matters().holds().list(matterId=matter_id).execute()